LINUX.ORG.RU

История изменений

Исправление kirill_rrr, (текущая версия) :

зрам своп отключать нужно

нафейхоа?! Ну в смысле можно и отключать, но только с backing_dev. Но будь у тебя оно - то что ты описал не могло произойти.

https://docs.kernel.org/admin-guide/blockdev/zram.html

Опции:

echo lz4 >  /sys/block/zram0/comp_algorithm
echo 2G > /sys/block/zram0/mem_limit
echo /dev/sdb1 >  /sys/block/zram0/backing_dev
echo 30G > /sys/block/zram0/disksize

Теоретически вот так должно получиться 30 гектар свопа, 2Гб сжатых данных из которых расположится в оперативке а остальное упадёт на backing_dev.

На практике... дебиан 11, ядро 4.19, вместо свопа я создал там ext4 и начал накидывать мусор из /usr и /opt. Как только zram добирается до mem_limit - ошибка i/o, устройство вываливается в ro (что кстати в первый раз произошло на отметке 18Гб при лимите 2Гб). На чём то более свежем проверить не могу, в распбиане у меня ядро собрано без backing_dev. Возможно это недостаток старого ядра, возможно та и было задумано, документацию можно трактовать так, как будто backing_dev проглатывает исключитеьно несжимаемые страницы.

В любом случае, даже если с backing_dev такая шляпа, всегда можно испольовать голый zram + физический своп. Тогда система не встанет колом а продолжит свопиться, просто без плюшек сжатия памяти. Я так на Пи3 дофига лет жил, а проблему забивания zram мёртвыми данными лечил создав 2 устройства zram и хроном каждый час попеременно высвобождал и снова подключал одно из них. Работало! Да, конечно zswap делает это полностью прозрачно, из коробки и с микроскопическими недостатками, но и с zram можно жить весьма неплохо и без лимитов памяти в пределах объёма диска.

Исправление kirill_rrr, :

зрам своп отключать нужно

нафейхоа?! Ну в смысле можно и отключать, но только с backing_dev. Но будь у тебя оно - то что ты описал не могло произойти.

https://docs.kernel.org/admin-guide/blockdev/zram.html

Опции:

echo lz4 >  /sys/block/zram0/comp_algorithm
echo 2G > /sys/block/zram0/mem_limit
echo /dev/sdb1 >  /sys/block/zram0/backing_dev
echo 30G > /sys/block/zram0/disksize

Теоретически вот так должно получиться 30 гектар свопа, 2Гб сжатых данных из которых расположится в оперативке а остальное упадёт на backing_dev.

На практике... дебиан 11, ядро 4.19, вместо свопа я создал там ext4 и начал накидывать мусор из /usr и /opt. Как только zram добирается до mem_limit - ошибка i/o, устройство вываливается в ro (что кстати в первый раз произошло на отметке 18Гб при лимите 2Гб). На чём то более свежем проверить не могу, в распбиане у меня ядро собрано без backing_dev. Возможно это недостаток старого ядра, возможно та и было задумано, документацию можно трактовать так, как будто backing_dev проглатывает исключитеьно несжимаемые страницы.

В любом случае, даже если с backing_dev такая шляпа, всегда можно испольовать голый zram + физический своп. Тогда система не встанет колом а продолжит свопиться, просто без плюшек сжатия памяти. Я так на Пи3 дофига лет жил, а проблему забивания zram мёртвыми данными лечил создав 2 устройства zram и хроном каждый час попеременно высвобождал и снова подключал одно из них. Работало! Да, конечно zswap делает это полностью прозрачно и с микроскопическими недостатками, но и с zram можно жить весьма неплохо и без лимитов памяти в пределах объёма диска.

Исходная версия kirill_rrr, :

зрам своп отключать нужно

нафейхоа?! Ну в смысле можно и отключать, но только с backing_dev. Но будь у тебя оно - то что ты описал не могло произойти.

https://docs.kernel.org/admin-guide/blockdev/zram.html

Опции:

echo lz4 >  /sys/block/zram0/comp_algorithm
echo 2G > /sys/block/zram0/mem_limit
echo /dev/sdb1 >  /sys/block/zram0/backing_dev
echo 30G > /sys/block/zram0/disksize

Теоретически вот так должно получиться 30 гектар свопа, 2Гб сжатых данных из которых расположится в оперативке а остальное упадёт на backing_dev.

На практике... дебиан 11, ядро 4.19, вместо свопа я создал там ext4 и начал накидывать мусор из /usr и /opt. Как только zram добирается до mem_limit - ошибка i/o, устройство вываливается в ro. На чём то более свежем проверить не могу, в распбиане у меня ядро собрано без backing_dev. Возможно это недостаток старого ядра, возможно та и было задумано, документацию можно трактовать так, как будто backing_dev проглатывает исключитеьно несжимаемые страницы.

В любом случае, даже если с backing_dev такая шляпа, всегда можно испольовать голый zram + физический своп. Тогда система не встанет колом а продолжит свопиться, просто без плюшек сжатия памяти. Я так на Пи3 дофига лет жил, а проблему забивания zram мёртвыми данными лечил создав 2 устройства zram и хроном каждый час попеременно высвобождал и снова подключал одно из них. Работало! Да, конечно zswap делает это полностью прозрачно и с микроскопическими недостатками, но и с zram можно жить весьма неплохо и без лимитов памяти в пределах объёма диска.