ZRAM против обычного раздела подкачки
Я не совсем понимаю функциональность и потенциальные преимущества Zram.
Например: когда zram активирован, какой процент памяти будет выделен для подкачки?
Другая проблема: очевидно, что общий размер оперативной памяти является верхней границей файла подкачки в оперативной памяти. Как только он будет исчерпан, начнёт ли система переставлять обычные разделы подкачки (если есть)?
Каковы основные недостатки Zram?
Примечание: у меня 32 ГБ физической памяти и 20 ГБ раздела подкачки. Я использую очень требовательные к памяти программы, и часто у меня не хватает памяти (команда top показывает как физический, так и подкачка почти полностью, а система сильно тормозит).
Благодарю.
1 ответ
zram создает виртуальное блочное устройство указанного вами размера, записывая (например, "512 м") в /sys/block/zramX/disksize
(где X - это номер 0 рассматриваемого устройства zram, поэтому 0 для первого).
Затем вы можете отформатировать его для обмена с mkswap /dev/zram0
и включить обмен на него с swapon /dev/zram0
, Данные, записанные в него, будут сжаты и сохранены в оперативной памяти. Сжатые данные не могут быть выгружены. Обратите внимание, что не все данные являются сжимаемыми.
Какое устройство подкачки используется первым, зависит от его приоритета, который можно указать с помощью -p xx
аргумент swapon
, Своп с более высоким приоритетом будет заполнен раньше, чем более низкий, поэтому рекомендуется назначить zwap высокий приоритет, чтобы он использовался до возврата к свопу на диск.