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

★★★★★

Своп-файла достаточно, всё остальное - быссмысленное красноглазие.

Deleted ()

Я предполагаю сделать 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 ★★★★★ ()
Ответ на: комментарий от tailgunner

настрой vm.swappiness и vm.dirty_background_bytes

Какие рекомендации по настройке а моем случае?

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 ★★★★★ ()
Ответ на: комментарий от r3lgar

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

Не очевидно.

tailgunner ★★★★★ ()
Ответ на: комментарий от 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)
Ответ на: комментарий от Deleted

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

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

У меня он даже при 16 Гб ОП используется часто

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

Ого. Просто я при 4Gb не подключал swap. Где-то читал, что при 4-х он уже становится бессмысленным

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

Где-то читал, что при 4-х он уже становится бессмысленным

Больше ничего там не читай

Deleted ()
Ответ на: комментарий от 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 ★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.