tm4ig@ctgx ~ % cat /sys/module/zswap/parameters/enabled /sys/module/zswap/parameters/max_pool_percent /proc/sys/vm/swappiness
Y
99
99
tm4ig@ctgx ~ % free -h
total used free shared buff/cache available
Mem: 7,7G 1,6G 140M 496M 5,9G 5,4G
Swap: 2,0G 1,0M 2,0G
tm4ig@ctgx ~ % uname -a && cat /etc/os-release && systemctl --version
Linux ctgx 4.15.9-1-ARCH #1 SMP PREEMPT Sun Mar 11 17:54:33 UTC 2018 x86_64 GNU/Linux
NAME="Arch Linux"
PRETTY_NAME="Arch Linux"
ID=arch
ID_LIKE=archlinux
ANSI_COLOR="0;36"
HOME_URL="https://www.archlinux.org/"
SUPPORT_URL="https://bbs.archlinux.org/"
BUG_REPORT_URL="https://bugs.archlinux.org/"
systemd 238
+PAM -AUDIT -SELINUX -IMA -APPARMOR +SMACK -SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN2 +IDN +PCRE2 default-hierarchy=hybrid
Еще год назад включил zswap и swap с настройками выше. Во всяком случае при таких значения при нехватке ОЗУ система не вставала раком. Как я понимаю при таком сочетании значений swappines и zswap должно активно использоваться сжатие свопа в озу и только если памяти совсем не хватает используется своп на диске. Как правило до такого не доходила и значение «Swap used» всегда было по факту «0».
Однако после недавних апдейтов (ядра и/или systemd и/или чего-то еще) данные начали активно сбрасываться на диск, хотя ранее такого поведения никогда не было. Пусть вас не смущает, что сейчас «Swap used 1M» - это почти сразу после ребута, до этого менее чем за сутки набежало более 100M
Как узнать кто и почему сбрасывает данные в swap?