Автор Тема: Тестирование zram  (Прочитано 23887 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн sol13

  • Прохожий
  • *
  • Автор темы
  • Сообщений: 7
Тестирование zram
« : Январь 02, 2016, 12:38:13 »
Эту тему создал по предложению HsH по поводу проверки отзывчивости машин после установки/настройки zram.
Что такое zram:
Цитировать (выделенное)
Начиная с версии ядра Linux 3.14 в стандартную поставку включен модуль zRam (ранее известный как compcache).
 Zram увеличивает производительность путем предотвращения подкачки страниц на диск, используя сжатое блочное устройство в оперативной памяти, пока не появится необходимость использовать файл подкачки на жёстком диске. Скорость обмена с оперативной памятью быстрее, чем с жёстким диском, следовательно zRam позволяет Linux производить большее число операций подкачки, особенно на старых компьютерах с малым объёмом оперативной памяти.
 Вообще способов применения zRam не ограничиваются только сжатием и уменьшением сбрасываемых в swap данных. Вообще zRam создает блочные устройства (аналог жесткого диска в оперативной памяти) в оперативной памяти. При этом, все данные попадающие в данные блочные устройства сжимаются. В общем, что вы поместите в эти блочные устройства зависит только от вас. Но в большинстве случаев этот модуль и эту технологию применяют именно для swap
Взято с
https://hellsman.ru/admin/linux/povyshaem-proizvoditelnost-linux-s-pomoshhyu-zram#hcq=GdjKCyp


Нужно:
1)поставить ядро старше 3.13(я ставил самое последнее из реп 14.04 - 4.2.0-22-generic)
2)ставим zram-config
sudo apt-get install zram-config3)проверяем swapon -s
sol@netbook:~$ swapon -s
Filename Type Size Used Priority
/dev/sda5                               partition 1710884 0 -1
/dev/zram0                              partition 513320 6488 5
/dev/zram1                              partition 513320 6472 5
sol@netbook:~$
У меня 2 ядра, поэтому 2 раздела, посмотреть как настроить размеры и количество разделов можно тут: https://hellsman.ru/admin/linux/povyshaem-proizvoditelnost-linux-s-pomoshhyu-zram
4) проверяем отзывчивость системы
sol@netbook:~$ time firefox

real 0m31.492s
user 0m26.960s
sys 0m2.604s
у меня прирост на старом нетбуке заметен, лисица(5 закрепленных вкладок) стала быстрее стартовать(-15 сек).
time thunderbird

real 0m15.171s
user 0m12.572s
sys 0m0.892s
громоптица =) -20 сек(2 ящика и много писем)

Тестируем, проверяем, если улучшения будут, то почему бы и не добавить в Lite сборку данный пакет.

Оффлайн Пользователь.

  • Местный
  • *****
  • Сообщений: 4639
Re: Тестирование zram
« Ответ #1 : Январь 02, 2016, 14:00:11 »
У нас есть тема по этому поводу
http://forum.runtu.org/index.php/topic,4167.0.html


Кто не умеет настраивать систему им пригодится, остальные давно уже испытали.
Стоит попробовать, веб браузер с zram начинает работать шустрее  :)

Я и без него обхожусь, но каждому же не будешь рассказывать про настройки сделанные у себя, они вечно теряются в форуме...
А так будет по дефолту, ничего делать не надо, лишь бы багов не было у zram.

Только сразу в релиз не надо добавлять, сначала тестовую версию системы, собрать отзывы по работе на разном железе, потом видно будет.

Оффлайн sol13

  • Прохожий
  • *
  • Автор темы
  • Сообщений: 7
Re: Тестирование zram
« Ответ #2 : Январь 02, 2016, 14:05:19 »
У нас есть тема по этому поводу
http://forum.runtu.org/index.php/topic,4167.0.html


Кто не умеет настраивать систему им пригодится, остальные давно уже испытали.
Стоит попробовать, веб браузер с zram начинает работать шустрее  :)

Я и без него обхожусь, но каждому же не будешь рассказывать про настройки сделанные у себя, они вечно теряются в форуме...
А так будет по дефолту, ничего делать не надо, лишь бы багов не было у zram.

Только сразу в релиз не надо добавлять, сначала тестовую версию системы, собрать отзывы по работе на разном железе, потом видно будет.
Тему видел, но эта про тест, нужно, чтобы пользователи попробовали, ведь пакет сам по себе не большой, из офф реп. Пользователи альта например даже не знают, что у них уже включен он по-умолчанию, поэтому система шустрая и работает на древнем железе.

Оффлайн Пользователь.

  • Местный
  • *****
  • Сообщений: 4639
Re: Тестирование zram
« Ответ #3 : Январь 02, 2016, 14:22:21 »
Так я пробовал, проблем не возникло, я за добавление zram.
Но выпускать тестовую сборку желательно, чтобы проверить на разном железе.

Оффлайн aleksei

  • Активист
  • ****
  • Сообщений: 293
Re: Тестирование zram
« Ответ #4 : Январь 04, 2016, 00:24:02 »
Да штука прикольная мне понравилась я считаю что нужно добавить её в сборку
Многие уже знают что наряду с программистами появилась такая славная народная профессия, как #ТЫЖПРО

Оффлайн runtik

  • Местный
  • *****
  • Сообщений: 578
  • Проблема - когда нет проблем
Re: Тестирование zram
« Ответ #5 : Январь 04, 2016, 07:50:08 »
А как работает zram с SSD ???. Поясните пожалуйста. Количество пользователей, которые успользуют SSD постоянно увеличивается.
Runtu XFCE x64: EeePC 1015BX - 16.04.5; DNS Porto - 14.04.5.
-->

Оффлайн ek-nfn

  • Местный
  • *****
  • Сообщений: 1422
Re: Тестирование zram
« Ответ #6 : Январь 04, 2016, 11:24:59 »
А как работает zram с SSD ???.

Как понимаю, также, как с простым диском. От ОЗУ отбирается часть объема (swapon -s показывает сколько, можно вручную корректировать). Система воспринимает это как увеличение swap. Но эти добавленные разделы имеют приоритет (также можно корректировать вручную) перед основным разделом (файлами) swap. То бишь, сначала пишется в них, а уж по заполнению идет сброс на медленный дисковый swap.
 Вроде сокращаем основное ОЗУ, но, учитывая то, что в этой области данные сжимаются, а скорость обмена данными снижается не слишком сильно, то получаем какой-то гибрид, эквивалентный увеличению ОЗУ (за счет компрессии данных), но работающий по алгоритму swap.
C этим разделом (разделами под каждое ядро ЦП) даже параметр Swappiness, определяющий порог начала обращения к swap, работает как со стандартным разделом swap. Поэтому я и назвал гибридом - работа как со swap, но эквивалентно увеличению ОЗУ с небольшой потерей скорости обмена данными с ОЗУ при достижении порога начала сброса в swap (по умолчанию - при заполнении ОЗУ на 40%, смотрим командой cat /proc/sys/vm/swappiness - показывает в процентах остаток свободного ОЗУ, после которого в работе задействется swap).
« Последнее редактирование: Январь 04, 2016, 11:38:35 от ek-nfn »
Devuan ASCII x32..x64

Оффлайн sfs

  • Местный
  • *****
  • Сообщений: 722
    • PuppyRus-Arch
Re: Тестирование zram
« Ответ #7 : Январь 04, 2016, 11:42:31 »
Есть информация насколько эффективно zram жмет?

Не будет ли проще и эффективней просто отключить swap (при достаточном к-ве ram) и включить
# mount
tmpfs on /tmp type tmpfs (rw)

Если хочется сжатия памяти - UKSM. Пишу из под https://pf.natalenko.name/ . 10 вкладок в firefox-lite - uksmstat -s показывает 17мб экономии RAM (бывало до 30)
# free -h
              total        used        free      shared  buff/cache   available
Mem:           3,9G        457M        2,6G        111M        854M        3,2G
Swap:            0B          0B          0B
« Последнее редактирование: Январь 04, 2016, 11:44:44 от sfs »

Оффлайн Пользователь.

  • Местный
  • *****
  • Сообщений: 4639
Re: Тестирование zram
« Ответ #8 : Январь 04, 2016, 13:31:25 »
Я выше давал ссылку на свои исследования.

Тут главное не думать что ОЗУ удвоится, нет не удвоится, просто за счет сжатия получится вместить данных в ОЗУ больше на 50-100 мегабайт.

сжатие там в районе 10%
основной эффект дает перенаправление свапа в оперативную память
то же самое можно сделать настроив swappines (но без сжатия), зато нагрузка на процессор меньше будет.

« Последнее редактирование: Январь 04, 2016, 13:36:52 от Пользователь. »

Оффлайн Пользователь.

  • Местный
  • *****
  • Сообщений: 4639
Re: Тестирование zram
« Ответ #9 : Январь 04, 2016, 13:41:21 »
Можно настройку swappines упаковать в deb пакет, в скрипт postinstall прописать нужные команды.
Тогда без zram все будет.

Оффлайн ek-nfn

  • Местный
  • *****
  • Сообщений: 1422
Re: Тестирование zram
« Ответ #10 : Январь 04, 2016, 14:26:08 »
Можно настройку swappines упаковать в deb пакет, в скрипт postinstall прописать нужные команды.
Тогда без zram все будет.

насколько понял, проблема с правильным выбором оптимальных параметров. Разжёвывание правильности выбора того или иного параметра swappines я нигде не встречал, хотя особо и не искал.
Я думаю, что не просто так по умолчанию swap включается по заполнении ОЗУ всего лишь на 40%, когда еще 60% пустует, но начинается сброс данных в swap.
Пробовал уменьшать swappines до 10%, но машину уже жестко вешает в начале сброса в swap. С большим параметром вроде как работает мягче, хоть и начинает раньше подтормаживать машину. Поэтому при малом объеме ОЗУ (1-2 гб) я бы не советовал swappines делать меньше 30-40 %. При 4 гб шансов влететь в свопирование уже меньше, поэтому можно опустить и до 10.
Но эти выводы я делал для себя без использования  zram. Не могу понять, что определяет параметр swappines при использовании zram. Машина не видит, что у нее отобрали часть ОЗУ.
Devuan ASCII x32..x64

Оффлайн Пользователь.

  • Местный
  • *****
  • Сообщений: 4639
Re: Тестирование zram
« Ответ #11 : Январь 04, 2016, 15:36:28 »
Не могу понять, что определяет параметр swappines при использовании zram.
То же самое что и без zram, т.е. когда начинать выгружать кэш из оперативки.
без zram выгружает на жетский диск
с zram выгружает в неиспользованное место оперативной памяти

Оффлайн ek-nfn

  • Местный
  • *****
  • Сообщений: 1422
Re: Тестирование zram
« Ответ #12 : Январь 04, 2016, 15:51:24 »
То же самое что и без zram
Хорошо, на цифрах:
ОЗУ 4 гб
Под zram отведено 2х1 гб
Итого, под функции ОЗУ остается 2 гб
При этом система показывает, что ОЗУ все также 4 гб
Допустим, что параметр swappines = 10%
Вопрос - с какого значения объема занятого ОЗУ начнет работать zram ?
3,6 гб (0,9х4) или 1,8 гб (0,9х2) ?
Devuan ASCII x32..x64

Оффлайн Пользователь.

  • Местный
  • *****
  • Сообщений: 4639
Re: Тестирование zram
« Ответ #13 : Январь 04, 2016, 16:30:12 »

Если swappines 10%
Когда 90% оперативной памяти будет использовано, начнется свап. Для zram тогда остается 10% оперативной памяти, то есть сразу начнет скидывать на жесткий диск.


Если swappines 60%
Когда 40% оперативной памяти будет использовано, начнется свап. Для zram тогда остается 60% оперативной памяти, когда это будет израсходовано  начнет скидывать на жесткий диск.

Я так понимаю.

ОЗУ 4 гб
Допустим, что параметр swappines = 10%
Вопрос - с какого значения объема занятого ОЗУ начнет работать zram ?
3,6 гб (0,9х4) или 1,8 гб (0,9х2) ?

3,6 гб (0,9х4)
« Последнее редактирование: Январь 04, 2016, 16:33:36 от Пользователь. »

Оффлайн ek-nfn

  • Местный
  • *****
  • Сообщений: 1422
Re: Тестирование zram
« Ответ #14 : Январь 04, 2016, 17:06:24 »

Если swappines 10%
Когда 90% оперативной памяти будет использовано, начнется свап. Для zram тогда остается 10% оперативной памяти, то есть сразу начнет скидывать на жесткий диск.

В таком случае система не может обеспечить выделенные 2 Гб под  zram.
А система показывает эти 2 гб еще до использования 90% памяти (команда swapon -s). То есть, эти 2 гб уже зарезервированы c самого начала.

Тут такой ньюанс. Если смотреть память через диспетчер процессов (гномовский) То он как бы не видит swap в ОЗУ. Показывает, что ОЗУ свободно.
Если смотреть память командой free, то она показывает, что эти 2 гб уже заняты пользователем.

Диспетчер же показывает, что под пользователем порядка 2 гб и свободно тоже около 2-х.
Free, кстати, также показывает , что в swap свободно около 2 гб.

Получается, что для диспетчера задач swap в ОЗУ как бы не существует. Он суммирует занятые объемы ОЗУ и swap
« Последнее редактирование: Январь 04, 2016, 17:16:25 от ek-nfn »
Devuan ASCII x32..x64