3 ms·
It doesn't really need any config on most distros, no. That said, if you want it to behave at its best when OOM, it does help to tweak vm.swappiness, vm.waterm
by stdbrouw 6mo ago
It doesn't really need any config on most distros, no.
That said, if you want it to behave at its best when OOM, it does help to tweak vm.swappiness, vm.watermark_scale_factor, vm.min_free_kbytes, vm.page-cluster and a couple of other parameters.
See e.g.
https://makedebianfunagainandlearnhowtodoothercoolstufftoo.computer/doku.php?id=start:memmanagement https://makedebianfunagainandlearnhowtodoothercoolstufftoo.c...
https://documentation.suse.com/sles/15-SP7/html/SLES-all/cha-tuning-memory.html https://documentation.suse.com/sles/15-SP7/html/SLES-all/cha...
I don't know of any good statistics script for zswap, I use the script below as a custom waybar module:
#!/bin/bash
stored_pages="$(cat /sys/kernel/debug/zswap/stored_pages)"
pool_total_size="$(cat /sys/kernel/debug/zswap/pool_total_size)"
compressed_size_mib="$((pool_total_size / 1024 / 1024))"
compressed_size_gib="$((pool_total_size / 1024 / 1024 / 1024))"
compressed_size_mib_remainder="$((compressed_size_mib * 10 / 1024 - compressed_size_gib * 10))"
uncompressed_size="$((stored_pages * 4096))"
uncompressed_size_mib="$((uncompressed_size / 1024 / 1024))"
uncompressed_size_gib="$((uncompressed_size / 1024 / 1024 / 1024))"
uncompressed_size_mib_remainder="$((uncompressed_size_mib * 10 / 1024 - uncompressed_size_gib * 10))"
ratio="$((100 * uncompressed_size / (pool_total_size + 1)))"
echo "$compressed_size_gib.$compressed_size_mib_remainder"