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

Автор Тема: zswap - уменьшить количество обращений к SWAP  (Прочитано 1911 раз)

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

Оффлайн RoDoN

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 5645
  • Репутация: +124/-0
    • RoDoN
Re: zswap - уменьшить количество обращений к SWAP
« Ответ #75 : 20 Февраль 2019, 09:42:54 »
Читаю тему поверхностно, не особо вникал, возник вопрос на каких минимальных характеристиках железа можно получить осязаемый эффект, т.е. проц не хуже какого-то и памяти нужно не меньше скольки?

Acer Aspire One AO751h (Atom Z520, Intel GMA500)
Acer Extensa 5620Z (T7500, Intel 965GM)
PuppyRus-JWM-13.12, PRA, Upup Precise, Tahr Puppy, Runtu 16.04 XFCE.

Оффлайн Ильфат

  • Ветеран
  • *****
  • Сообщений: 424
  • Репутация: +10/-0
Re: zswap - уменьшить количество обращений к SWAP
« Ответ #76 : 20 Февраль 2019, 10:22:42 »
на каких минимальных характеристиках железа можно получить осязаемый эффект, т.е. проц не хуже какого-то и памяти нужно не меньше скольки?
Использую zram на 2-х ядерном Celeron E3300 2.5GHz c 2 ГБ ОЗУ.
Алгоритм lzo. При свопинге есть небольшие подтормаживания, но это ерунда по сравнению со ступором от нехватки памяти, к которому мог приводить запуск воторого браузера.
Да и от свопа тоже, ну если вы еще физику считаете наукой, а не буржуазной отрыжкой, то никакой экономии, увеличения производительности (а при zram так еще и потеря будет) не будет
При нехватке ОЗУ от свопа очень даже большая польза. Своп вообще не для увеличения производительности предназначен, а как вынужденная мера. zram-swap тоже самое, но он по сравнению с обычным свопом, в большинстве случаев, тормозить будет меньше, так как запись/чтение и скорость компресси/декомпрессии данных в ОЗУ будет быстрее чем запись/чтение на жесткий диск.
я до сих пор не пойму, как за счет оперативы добавить ее же. Не, ну черт с ним с компрессией. Хотя на нее тож надо тратить время на запаковку и распаковку (диинамическую, заметьте). И енто дело один хрен в ОЗУ...
В памяти много неиспользуемых страниц, если их сжать в 3 раза, то освободится 2/3 от ранее занимаемого ими места. А трата времени на запаковку и распаковку можно не брать во внимание, так как алгоритмы быстрые и даже на слабых процах не займут критично много времени.

Оффлайн Gerasats

  • Ветеран
  • *****
  • Сообщений: 1044
  • Репутация: +32/-0
  • Короче, я полный оппортунист.....и по фиг!
Re: zswap - уменьшить количество обращений к SWAP
« Ответ #77 : 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 60GB 2.5" SATAIII MLC
Netbook: Lenovo-s-10.2
Tablet: Acer-210, Phone: Samsung A5(2018)
OS - Bionicpup64 7.9.8 kernel 5.07.RC7 full install, Linux Mint 19.1 Tessa Cinnamon, Windows 10 rel. 1809 Enterprise LTSC, OpenElec, Android- 6.0 - 9.0

Оффлайн Gerasats

  • Ветеран
  • *****
  • Сообщений: 1044
  • Репутация: +32/-0
  • Короче, я полный оппортунист.....и по фиг!
Re: zswap - уменьшить количество обращений к SWAP
« Ответ #78 : 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 60GB 2.5" SATAIII MLC
Netbook: Lenovo-s-10.2
Tablet: Acer-210, Phone: Samsung A5(2018)
OS - Bionicpup64 7.9.8 kernel 5.07.RC7 full install, Linux Mint 19.1 Tessa Cinnamon, Windows 10 rel. 1809 Enterprise LTSC, OpenElec, Android- 6.0 - 9.0

Оффлайн Ильфат

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

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 1299
  • Репутация: +47/-0
Re: zswap - уменьшить количество обращений к SWAP
« Ответ #80 : 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.

Оффлайн Ильфат

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

Оффлайн arcad

  • Старожил
  • ****
  • Сообщений: 316
  • Репутация: +11/-0
Re: zswap - уменьшить количество обращений к SWAP
« Ответ #82 : 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

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

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 1299
  • Репутация: +47/-0
Re: zswap - уменьшить количество обращений к SWAP
« Ответ #84 : 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

Оффлайн Ильфат

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

Оффлайн sfs

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

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 1299
  • Репутация: +47/-0
Re: zswap - уменьшить количество обращений к SWAP
« Ответ #87 : 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 »