Сайт | Скачать | Видео | Wiki

Автор Тема: zram (RAM-диск со сжатием данных), zswap (уменьшить количество обращений к SWAP)  (Прочитано 34642 раз)

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

Оффлайн Gerasats

  • Ветеран
  • *****
  • Сообщений: 1055
  • Репутация: +32/-0
  • Короче, я полный оппортунист.....и по фиг!
Re: zswap - уменьшить количество обращений к SWAP
« Ответ #90 : 20 Февраль 2019, 11:31:03 »
скорость компресси/декомпрессии данных в ОЗУ будет быстрее чем запись/чтение на жесткий диск
И какая компрессия-декомпресия в свопе? Своп не жмет и не разжимает данные, туда просто вкидываются куски согласно очереди обработки в ОЗУ, в отличии от зрама где таки жмем и пережимаем куски, из-за чего и тормозим...ну это так в порядке общения, по сути зрам тоже сжатие данных в винде, объем показываем в разы меньше на самом деле хаваем в разы больше...
Desktop:  AMD Phenom II X4 965 Black Edition 3400MHz, HyperX Limited Editions - 8GB Module - DDR3 1600MHz, ASRock N68C-GS FX, GeForce GT240 PCIe, LG Electronics IPS277L-BN, SSD Kingston SSDNow V300 (А400) 60GB (250GB) 2.5" SATAIII MLC
Netbook: Vinga Twizzle J116
Tablet:Samsung SM-T290/T295 Galaxy Tab A 8.0, Phone: Samsung A5(2018)
OS - Imppup64-9.6.1 frugal install, Linux Mint 20.2 "Uma" Cinnamon, Windows 11 rel. 22000.282, OpenElec, Android- 7.1 - 12.0

Оффлайн Gerasats

  • Ветеран
  • *****
  • Сообщений: 1055
  • Репутация: +32/-0
  • Короче, я полный оппортунист.....и по фиг!
Re: zswap - уменьшить количество обращений к SWAP
« Ответ #91 : 20 Февраль 2019, 11:38:22 »
можно получить осязаемый эффект
:) Вот это извечный вопрос во всех обсуждениях временного хранилища, такой же вопрос задавался и на Минтах, и на Убунтах и на Манджарах...и знаете если и был ответ, и находилась пара с одинаковым железом (от слова совсем мать+проц+память+видео+винт) всегда возникал диспут: у одного космический успех, у второго космических размеров тормоз, поэтому по-моему вся полемика лежит в плоскости осязаемых реакций, в точнее кто что хочет, тот и видит....особо, как я уже говорил если ОЗУ от 4 до 8гБ, то как правило эффект близок к 0, при более 8гБ его вообще нету от слова совсем, а вот в пределах до 2гБ и идет война народная, при этом у одних это полный восторг, у других полное неприятие...так что с эффектом, как то все сложно...
Desktop:  AMD Phenom II X4 965 Black Edition 3400MHz, HyperX Limited Editions - 8GB Module - DDR3 1600MHz, ASRock N68C-GS FX, GeForce GT240 PCIe, LG Electronics IPS277L-BN, SSD Kingston SSDNow V300 (А400) 60GB (250GB) 2.5" SATAIII MLC
Netbook: Vinga Twizzle J116
Tablet:Samsung SM-T290/T295 Galaxy Tab A 8.0, Phone: Samsung A5(2018)
OS - Imppup64-9.6.1 frugal install, Linux Mint 20.2 "Uma" Cinnamon, Windows 11 rel. 22000.282, OpenElec, Android- 7.1 - 12.0

Оффлайн ilfat

  • Ветеран
  • *****
  • Сообщений: 438
  • Репутация: +11/-0
Re: zswap - уменьшить количество обращений к SWAP
« Ответ #92 : 20 Февраль 2019, 12:18:08 »
Своп не жмет и не разжимает данные
А кто утверждает обратное?
в отличии от зрама где таки жмем и пережимаем куски, из-за чего и тормозим
Еще раз говорю, основная цель не быстродействие, а освободждение памяти от неиспользуемых страниц.
как я уже говорил если ОЗУ от 4 до 8гБ, то как правило эффект близок к 0, при более 8гБ его вообще нету от слова совсем
В том то и дело, что это чаще всего нужно на компах с ОЗУ до 4 гб. На 6 и более гигах своп редко когда используется, разве что если вы занимаетесь видео монтажом и тому подобным или запускаете кучу виртуалок, но в таких случаях лучше припасти именно реальной оперативной памяти, если мать позволяет. А так, если у вас 8 гб и этого хватает, то о каком эффекте от зрам можно вообще говорить. Эффект только при дефиците памяти.

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5319
  • Репутация: +139/-1
  • Автор темы
Re: zswap - уменьшить количество обращений к SWAP
« Ответ #93 : 23 Февраль 2019, 15:44:28 »
Zstd по умолчанию жмет с 3:
Код
$ zstd --help
 -#     : # compression level (1-19, default: 3)
  Но теперь появилась возможность задавать степень сжатия через переменную.
Speaking of compression of level : it's now possible to use environment variable ZSTD_CLEVEL to influence default compression level. This can prove useful in situations where it's not possible to provide command line parameters, typically when zstd is invoked "under the hood" by some calling process.
https://github.com/facebook/zstd/releases/tag/v1.3.8

Не знаю только, насколько это востребовано в zRam.

Оффлайн ilfat

  • Ветеран
  • *****
  • Сообщений: 438
  • Репутация: +11/-0
Re: zswap - уменьшить количество обращений к SWAP
« Ответ #94 : 23 Февраль 2019, 16:10:45 »
Не знаю только, насколько это востребовано в zRam.
Для zram важна скорость, особенно если в нем своп. Думаю по умолчанию 3 оптимально дня большинства, хотя для вашего проца наверно можно и побольше )

Оффлайн arcad

  • Старожил
  • ****
  • Сообщений: 376
  • Репутация: +12/-0
Re: zswap - уменьшить количество обращений к SWAP
« Ответ #95 : 09 Март 2019, 11:44:59 »
Для retro с minirc простой способ включить zswap. Своппинг в swapfile.
[ Читать далее ]
В ddr01  не получилось подключить swapfile автоматом.
Спойлер
live@live:~$ free
              total        used        free      shared  buff/cache   available
Mem:        1019392      173348      303548      180736      542496      650568
Swap:             0           0           0
live@live:~$ dmesg | grep swap
[    0.000000] Kernel command line: dir=ddr01 quiet copy2ram noswap rw zswap.enabled=1 zswap.compressor=lz4 zswap.zpool=z3fold zswap.max_pool_percent=50
[    0.691586] zswap: zpool z3fold not available, using default zbud
[    0.691613] zswap: loaded using pool lz4/zbud
live@live:~$ zramctl --output-all
bash: zramctl: команда не найдена
live@live:~$ cat /proc/swaps
Filename            Type      Size   Used   Priority


[свернуть]

а руками подключается
Спойлер
live@live:~$ sudo swapon /mnt/sda8/swapfile
swapon: /mnt/sda8/swapfile: insecure file owner 1000, 0 (root) suggested.
live@live:~$ free
              total        used        free      shared  buff/cache   available
Mem:        1019392      355732       36120      184056      627540      464864
Swap:       2097148           0     2097148
live@live:~$
[свернуть]
zpool z3fold недоступно, использовано по умолчанию zbud  - есть какая то разница?
« Последнее редактирование: 09 Март 2019, 11:50:03 от arcad »

Оффлайн sfs

  • Администратор
  • Ветеран
  • ****
  • Сообщений: 33965
  • Репутация: +231/-0
    • PuppyRus-A
Re: zswap - уменьшить количество обращений к SWAP
« Ответ #96 : 09 Март 2019, 11:54:30 »
В DDR01 нет minirc
А обычный своп без noswap автоподключается?

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5319
  • Репутация: +139/-1
  • Автор темы
Re: zswap - уменьшить количество обращений к SWAP
« Ответ #97 : 09 Март 2019, 12:05:15 »
zpool z3fold недоступно, использовано по умолчанию zbud  - есть какая то разница?
  Если коротко и своими словами, то разница в степени сжатия. С z3fold она больше.
https://wiki.archlinux.org/index.php/Zswap#Compressed_memory_pool_allocator
https://www.kernel.org/doc/Documentation/vm/z3fold.txt

Оффлайн ilfat

  • Ветеран
  • *****
  • Сообщений: 438
  • Репутация: +11/-0
Re: zswap - уменьшить количество обращений к SWAP
« Ответ #98 : 09 Март 2019, 12:05:50 »
zpool z3fold недоступно, использовано по умолчанию zbud  - есть какая то разница?
zbud пакует максимум 2 страницы в одну, z3fold 3 в одну. То есть если у zbud в среднем сжатие 1.7, то у z3fold 2.7. Есть ещё zmalloc. Он жмёт максимально, но по сравнению с этими двумя работает иначе. Первые двое после заполнения пула переносят более старые страницы из пула на диск, а новые в пул. zmalloc же заполняет пул и далее все на диск.
Чтобы использовать z3fold он должен быть в инитрд.

Оффлайн sfs

  • Администратор
  • Ветеран
  • ****
  • Сообщений: 33965
  • Репутация: +231/-0
    • PuppyRus-A

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5319
  • Репутация: +139/-1
  • Автор темы
Re: zswap - уменьшить количество обращений к SWAP
« Ответ #100 : 15 Март 2019, 13:20:03 »
 Помимо обсуждаемого в этой теме mem_limit, есть еще параметр backing_dev.
Цитата
backing_dev        RW   set up backend storage for zram to write out

With CONFIG_ZRAM_WRITEBACK, zram can write idle/incompressible page
to backing storage rather than keeping it in memory.
To use the feature, admin should set up backing device via

   "echo /dev/sda5 > /sys/block/zramX/backing_dev"
https://www.kernel.org/doc/Documentation/blockdev/zram.txt

Пример его использования по ссылке, внизу страницы на гитхабе:
Чтобы не копаться там в массе информации, даю ссылку на конкретный пример https://gist.github.com/sultanqasim/79799883c6b81c710e36a38008dfa374
Цитата
modprobe zram num_devices=5; ((z=0)); for d in /dev/mmcblk0pX /dev/sdaX /dev/sdbX /dev/sdcX /dev/sddX; do echo $d >/sys/block/zram${z}/backing_dev; echo lz4 >/sys/devices/virtual/block/zram${z}/comp_algorithm; echo 96m >/sys/devices/virtual/block/zram${z}/mem_limit; echo 512m >/sys/devices/virtual/block/zram${z}/disksize; mkswap /dev/zram${z}; swapon -p 15 /dev/zram${z}; ((z++)); done

 Как я понял, там утверждается, что с mem_limit несжимаемые данные отбрасываются, но с backing_dev они сохраняются на внешних устройствах.

 Чтобы использовать backing_dev должен быть включен в ядре CONFIG_ZRAM_WRITEBACK. В наших ядрах - # CONFIG_ZRAM_WRITEBACK is not set

p.s. Навеяло обсуждениями в соседней теме. Это для теории, о практическом применении здесь речи не идет.
« Последнее редактирование: 15 Март 2019, 13:22:28 от krasnyh »

Оффлайн sfs

  • Администратор
  • Ветеран
  • ****
  • Сообщений: 33965
  • Репутация: +231/-0
    • PuppyRus-A
Re: zswap - уменьшить количество обращений к SWAP
« Ответ #101 : 16 Декабрь 2019, 14:22:48 »
Посмотрел как сделан zram= в портеус
Передрал ничего не меняя - в аттаче. Положить в /etc/rc.d (для minirc). Или  добавить вызов этого скрипта в /etc/rc.local
По дефолту будет lzo компрессия. Если надо  lz4 :
Код
echo lz4 > /sys/block/zram0/comp_algorithm
Zstd - наверное только на свежих ядрах - короче, точно не знаю

Если я правильно понял - если памяти столько, что в своп ничего не попадает - это бесполезно
А если в своп что-то попадает - памяти и так мало и как это поможет.... не очень понимаю

Меня другое заинтересовало
При работе фругала без сохраненки (или с save.pfs) - /home и пр. находятся в tmpfs
Почему бы не сделать вместо tmpfs - zram ...
Например кэш браузера может прилично занимать. Почему бы это не сжать...
Всякие файловые кэши тоже не помешает сжать в ram (тем самым ускорить)
В porteus-initrd для этого надо поправить пару строк в функции fail_chm
Есть смысл заморачиваться или я не понял идеи zram...
« Последнее редактирование: 16 Декабрь 2019, 14:55:50 от sfs »

Оффлайн ilfat

  • Ветеран
  • *****
  • Сообщений: 438
  • Репутация: +11/-0
Re: zswap - уменьшить количество обращений к SWAP
« Ответ #102 : 16 Декабрь 2019, 14:35:11 »
А если в своп что-то попадает - памяти и так мало и как это поможет.... не очень понимаю
"Ненужное" будет в сжатом виде.
Почему бы не сделать вместо tmpfs - zram ...
Можно, почему нет. В UIRD сделано. Еще есть варианты с btrfs образом в tmpfs.
« Последнее редактирование: 16 Декабрь 2019, 14:41:16 от sfs »

Оффлайн sfs

  • Администратор
  • Ветеран
  • ****
  • Сообщений: 33965
  • Репутация: +231/-0
    • PuppyRus-A
Re: zswap - уменьшить количество обращений к SWAP
« Ответ #103 : 16 Декабрь 2019, 14:39:23 »
"Ненужное" будет в сжатом виде.
в памяти, которой и так не хватает (раз лезет в своп)
Когда своп на винте - понятно, чем это поможет и за счет чего (тормозов)
А здесь, какая-то "змея, кусающая свой хвост". Не понимаю - но выше по теме люди пишут, что помогает...
Поэтому передрал из портеуса. Раз там это так долго есть - значит кому-то надо...
В UIRD сделано
Юзали? помогает?
есть варианты с btrfs образом в tmpfs.
Я так понимаю, что будет примерно тоже но более настраиваемо и посложней
« Последнее редактирование: 16 Декабрь 2019, 14:42:10 от sfs »

Оффлайн sfs

  • Администратор
  • Ветеран
  • ****
  • Сообщений: 33965
  • Репутация: +231/-0
    • PuppyRus-A
Re: zswap - уменьшить количество обращений к SWAP
« Ответ #104 : 16 Декабрь 2019, 14:46:44 »
Вот и автор slax нахваливает