История изменений
Исправление kirill_rrr, (текущая версия) :
1)
root@RPi4:~# ./zswap-stat.bash
/sys/kernel/debug/zswap/stored_pages: 239877
/sys/kernel/debug/zswap/pool_total_size: 371785728
2.64274854574299Это у меня считающийся сейчас устаревшим z3fold при пуле в 25% от 3,7Гб. Сейчас степень сжатия 2,6, но иногда может падать до 1,6.
2) Конечно отправляются. Можешь рассматривать zswap как аналог дискового кеша перед записью на своп. Страницы формально адресованы блокам на диске, но находятся в сжатом пуле пока или будут дёрнуты обратно, или пул не заполнится на условные 90% и не начнёт «очищаться» сбросом на диск. Метод выбора конкретных страниц по сути не важен, тут главное что горячая страница не улетит на диск слишком быстро, а с огромной вероятностью успеет разжаться обратно до этого.
В zswap не так давно (по версиям ядер) произошла некоторая революция. Старые пулы zbud и z3fold удалены, самый старый и бесполезный пул zsmalloc был переписан на новую реализацию и стал скорее даже лучше двух других. Появилась включаемая опция работать без физического свопа и оптимизированы алгоритмы сбрасывания при заполнении. Так вот, у меня ядро 6.1, все эти последние плюшки в жёстких сценариях я ещё не видел. По идее должно стать только лучше.
Исходная версия kirill_rrr, :
1)
root@RPi4:~# ./zswap-stat.bash
/sys/kernel/debug/zswap/stored_pages: 239877
/sys/kernel/debug/zswap/pool_total_size: 371785728
2.64274854574299Это у меня считающийся сейчас устаревшим z3fold при пуле в 25% от 3,7Гб. Сейчас степень сжатия 2,6, но иногда может падать до 1,6.
2) Конечно отправляются. Можешь рассматривать zswap как аналог дискового кеша перед записью на своп. Страницы формально адресованы блокам на диске, но находятся в сжатом пуле пока или будут дёрнуты обратно, или пул не заполнится на условные 90% и не начнёт «очищаться» сбросом на диск. Метод выбора конкретных страниц по сути не важен, тут главное что горячая страница не улетит на диск слишком быстро, а с огромной вероятностью успеет разжаться обратно до этого.
В zswap не так давно (по версиям ядер) произошла некоторая революция. Старые пулы zbud и z3fold удалены, самый старый и бесполезный пул zsmalloc был переписан на новую реализацию и стал скорее даже лучше двух других. Появилась включаемая опция работать без физического свопа и оптимизированы алгоритмы сбрасывания при заполнении. Так вот, у меня ядро 6.1, все эти последние плюшки в жёстких сценариях я ещё не видел. По идее должно стать только лучше.
Да, обратил внимание что ты говоришь про работу без физического свопа. Это ведь совсем другой сценарий чем с физическим. Для него действительно лучше взять zram не очень большого размера, 30-100% несжатой памяти. zswap должен был научиться работать в таком режиме, но нужно внимательно смотреть та у тебя версия или нет, ну и включить опцию.