获取当前 zswap 内存使用情况和统计​​信息

Tom*_*ale 23 linux zswap

zswap文档说:

Zswap seeks to be simple in its policies.  Sysfs attributes allow for one user
controlled policy:
* max_pool_percent - The maximum percentage of memory that the compressed
    pool can occupy.
Run Code Online (Sandbox Code Playgroud)

这指定了压缩池可以占用的最大内存百分比。

我如何知道:

  • 当前的内存占用的百分比由压缩池
  • 这个池有多少正在使用
  • 压缩率、命中率和其他有用信息

小智 26

当前统计:

# grep -R . /sys/kernel/debug/zswap/
Run Code Online (Sandbox Code Playgroud)

压缩率:

# cd /sys/kernel/debug/zswap
# perl -E  "say $(cat stored_pages) * 4096 / $(cat pool_total_size)"
Run Code Online (Sandbox Code Playgroud)

当前设置:

$ grep -R . /sys/module/zswap
Run Code Online (Sandbox Code Playgroud)

  • 4096 是正常内存页的大小。现代 CPU 支持大于 4k 的页面,称为大页面,但这些页面不可交换。 (4认同)