LINUX.ORG.RU

Добавить swap - swapfile, zswap, zram, etc?

 , ,


3

1

Дано: ноутбук с 8 Gb RAM, SSD, Debian 9. Swap раздела или файла нет. Тяжелых задач нет, потребление памяти редко превышает 4 Gb, остальное - дисковый кэш.

Недавно столкнулся с ситуацией, когда при монтировании каталога через fuse закончилась память. Система зависла намертво, через пару минут убила процесс и развисла. Ситуацию с тем каталогом исправил, но решил на будущее добавить swap.

Я предполагаю сделать swap file, использовать для него ZSWAP, а также задействовать ZRAM, задать swappinness и приоритеты. Прошу людей с реальным опытом подсказать, что именно мне нужно использовать и почему, какое задать значение параметра swappiness.

Перемещено tailgunner из admin

★★★★★

Я предполагаю сделать swap file, использовать для него ZSWAP, а также задействовать ZRAM

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

Zswap предпочтительнее, так как по умолчанию умеет вытеснять несжимаемые данные в swap на устройство хранения (zram тоже умеет, ну нужно это настраивать)

Kron4ek ★★★★★
()
Ответ на: комментарий от Kron4ek

Понял, спасибо за разъяснение. Мне нужно настроить так, чтобы не потерять производительность системы, т.к. памяти всегда хватает за исключением непредвиденных ситуаций.

aquadon ★★★★★
() автор топика
Ответ на: комментарий от aquadon

т.к. памяти всегда хватает за исключением непредвиденных ситуаций.

Включай тогда zswap с алгоритмом lz4 и не парься.

Swappiness можешь по умолчанию оставить, если дисковый кэш в приоритете.

p.s. Zswap вроде бы по умолчанию включен в новых (4.4+) ядрах.

Kron4ek ★★★★★
()
Последнее исправление: Kron4ek (всего исправлений: 1)

Я делал zswap на примерно тай же конфигурации - никакого ощутимого эффекта (то же и про zram). Добавь обычный swap, настрой vm.swappiness и vm.dirty_background_bytes, и живи спокойно.

tailgunner ★★★★★
()
Последнее исправление: tailgunner (всего исправлений: 1)
Ответ на: комментарий от Kron4ek

p.s. Zswap вроде бы по умолчанию включен в новых (4.4+) ядрах.

Может быть, но у меня сейчас нет swap файла.

aquadon ★★★★★
() автор топика
Ответ на: комментарий от aquadon

Сделай swap, загони систему в своп (копированием очень большого файла с быстрого носителя на медленный), и посмотри. У меня тоже 8G и настройки:

vm.swappiness=40
vm.dirty_background_bytes = 524288
tailgunner ★★★★★
()
Последнее исправление: tailgunner (всего исправлений: 1)
Ответ на: комментарий от kickass

zswap.max_pool_percent - это кол-во оперативки в процентах, в которой будут сжатые данные храниться перед попаданием на диск в swap

kickass
()

zswap

Проиграешь в продолжительности жизни от батареи.

zram

То же самое. Я на генте юзал для компиляния в памяти, что давало (ощутимый) прирост в скорости процесса и чтобы меньше изнашивало диск, в дебьяне даже заморачиваться не стал (у меня десктоп). На ноуте, если девайс юзается от батареи, выигрыш в скорости на бинарном дистре на фоне проигрыша в продолжительности жизни просто не стоит того.

SSD

swapfile.

задать swappinness

Если описанный тобой факап — редкость, оставь дефолт.

У меня стоит:

vm.swappiness = 10
Но мне это очень надо (GIMP + Blender + Inkskape, часто работающие одновременно, работающие сутками, порой даже неделями). Нужно ли тебе — думай сам.

сделать swap file, использовать для него ZSWAP

Если такое возможно, то совершенно бессмысленно. Жать блочный девайс смысл есть, жать файл в файловой системе — пустое напряжение процессора.

r3lgar ★★★★★
()
Ответ на: комментарий от r3lgar

сделать swap file, использовать для него ZSWAP

Если такое возможно, то совершенно бессмысленно. Жать блочный девайс смысл есть, жать файл в файловой системе — пустое напряжение процессора

zswap не сжимает данные, которые пишет в swap-файл. Более того, сжатые данные распаковываются перед записью.

tailgunner ★★★★★
()
Последнее исправление: tailgunner (всего исправлений: 1)
Ответ на: комментарий от tailgunner

zswap не сжимает данные, которые пишет в swap-файл.

Ну так я и говорю, если такое возможно (ибо я такого в доках не видел).

Более того, сжатые данные распаковываются перед записью.

На ноуте — лишний раз гонять проц → короче жизнь от батареи.

r3lgar ★★★★★
()
Ответ на: комментарий от tailgunner

На ноуте — лишний раз гонять проц → короче жизнь от батареи.

Не очевидно.

Не очевидно, но вполне вероятно.

Кстати, тыжмодератор! Почему данный тред висит в Admin, а не в Desktop? Ему место там, а не здесь, ящитаю.

r3lgar ★★★★★
()
Последнее исправление: r3lgar (всего исправлений: 1)

Прошу людей с реальным опытом подсказать, что именно мне нужно использовать и почему, какое задать значение параметра swappiness.

В твоем случае свап не нужен. Надо проблемы с fuse порешать если они критичны.

init_6 ★★★★★
()
Ответ на: комментарий от tailgunner

Своп нужен всем.

В том случае, если доступного ОЗУ гораздо меньше чем необходимо используемуму ПО в сумме.

init_6 ★★★★★
()
Ответ на: комментарий от init_6

В том случае, если доступного ОЗУ гораздо меньше чем необходимо используемуму ПО в сумме.

И это всегда так (специализированные системы с фиксированным набором настроенного софта не берем).

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

И это всегда так

На чём? На андроидах/эмбеддедах/чайниках или кофеварках? Да там таки именно так и есть. А на современном среднем десктопе в вакууме 1Гб или 2Гб уже даже не найти.

init_6 ★★★★★
()
Ответ на: комментарий от init_6

Проблемы порешал, но на будущее решил перестраховаться.

aquadon ★★★★★
() автор топика
Последнее исправление: aquadon (всего исправлений: 1)
6 декабря 2019 г.
Ответ на: комментарий от Kron4ek

Zswap вроде бы по умолчанию включен в новых (4.4+) ядрах.

Он выключен по умолчанию в дефолтном ядре и так будет всегда. Это опция, которая не всем нужна. Другое дело - некоторые дистроделы могут это включать по умолчанию. Федора обсуждает вопрос, но окончательно не решила - zswap or zram включать - https://pagure.io/fedora-workstation/issue/98. В Endless OS своп по умолчанию на zram - https://github.com/endlessm/eos-boot-helper/blob/master/eos-enable-zram

anonymous
()
Ответ на: комментарий от tailgunner

Я делал zswap на примерно тай же конфигурации - никакого ощутимого эффекта

В моей синтетике и zswap и zram давали лучшую производительность, подтверждено цифрами, а не просто ощущениями.

anonymous
()
Ответ на: комментарий от kickass

zswap.max_pool_percent=25

Слишком мало, 60 норм. И аллокатор сменить на z3fold

anonymous
()
Ответ на: комментарий от CryNet

А нужен ли swap для 8Gb ОП? Я не имею ввиду данный случай.

Компиляция хрома требует мин 8 гиг памяти, рекомендуется 16.

Было 10 гиг памяти, добавил 20 гиг своп на зрам. В итоге успешно скомпилял хром с -j16

anonymous
()

сделать swap file, задать swappinness и хватит.

One ★★★★★
()
Ответ на: комментарий от anonymous

Компиляция хрома требует мин 8 гиг памяти

Я таким не занимаюсь. Мне нужен только браузер и IDE

CryNet ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.