Краткий ответ:Используйте параметры сброса монтирования при монтировании файловых систем или включении подкачки, созданной на устройствах Zram.
Расширенный:При монтировании файловой системы используйте discard
в качестве опции монтирования, вы можете установить опции монтирования с помощью -o
и опции, разделенные ,
, без пробела между ними. Он должен поддерживаться в большинстве файловых систем Linux, я использую его в Btrfs. При обмене используйте -d
при использовании swapon
. Вы также можете в дополнение к этому периодически запускать fstrim
в каталоге, в котором смонтирована файловая система, но из того, что я видел в выводе zramctl
, в этом нет необходимости, и параметр монтирования discard
достаточно хорошо.
Редактировать:На самом деле, после некоторых дополнительных тестов я думаю, что неплохо периодически запускать fstrim
на монтировании Zram. После компиляции Firefox с его каталогом сборки в Zram было использовано около 1,1 ГБ ОЗУ. Не так плохо, как без варианта крепления discard
, но есть возможности для улучшения. Запуск fstrim
на монтировании Zram (, запуск которого занял всего пару секунд ), привел к тому, что использование ОЗУ увеличилось до 400 МБ, что является нормальным. Я бы, вероятно, поместил его в задание cron или после компиляции portage.
Объяснение:Когда файлы удаляются, Zram не удаляет сжатые страницы из памяти, потому что он не уведомляется о том, что пространство больше не используется для данных. Опция discard выполняет сброс при удалении файла. Если вы используете опцию сброса монтирования, Zram будет уведомлен о неиспользуемых страницах и соответствующим образом изменит их размер.
Я сомневаюсь, что это возможно с tmux без написания патча, реализующего его (, что абсолютно возможно, но я не знаю о существующем ).