如何验证zswap运行?


17

如何检查以确保zswap已启用并在系统上正常工作?

Answers:


17
dmesg | grep zswap

那应该是您需要知道它是否正在运行的全部。您应该看到以下消息:

[    1.241302] zswap: loading zswap
[    1.241306] zswap: using zbud pool
[    1.241310] zswap: using lzo compressor

您可以通过以下方法查看其作用:

$ sudo grep -R . /sys/kernel/debug/zswap
/sys/kernel/debug/zswap/stored_pages:0
/sys/kernel/debug/zswap/pool_total_size:0
/sys/kernel/debug/zswap/duplicate_entry:0
/sys/kernel/debug/zswap/written_back_pages:0
/sys/kernel/debug/zswap/reject_compress_poor:0
/sys/kernel/debug/zswap/reject_kmemcache_fail:0
/sys/kernel/debug/zswap/reject_alloc_fail:0
/sys/kernel/debug/zswap/reject_reclaim_fail:0
/sys/kernel/debug/zswap/pool_limit_hit:0

要查找的关键参数stored_pages是压缩页数和written_back_pages已写出到交换文件的页数。


3
为此,您可以检查zswap是否实际上在使用此命令执行任何操作(在系统开始交换之前,zswap实际上不会启动):sudo sh -c 'cd /sys/kernel/debug/zswap; grep . *'
bmaupin 2015年

@bmaupin该命令似乎有些混乱,为什么不sudo grep . /sys/kernel/debug/zswap/*呢?
奥利(Oli)

1
只是偏爱。它们都工作正常,但我更喜欢我的输出。
bmaupin 2015年

1
我只是注意到您的命令实际上并不起作用,这可能是为什么我的命令看起来很复杂的原因$ sudo grep . /sys/kernel/debug/zswap/* grep: /sys/kernel/debug/zswap/*: No such file or directory。至少您可能需要做:sudo sh -c 'grep . /sys/kernel/debug/zswap/*'
bmaupin 2015年

@bmaupin我现在可以看到问题,它正在尝试在父shell中扩展(pre-sudo),但普通用户在中没有列表/读取权限/sys/kernel/debug/zswap。可以通过告诉grep修改目录来解决。参见编辑。
奥利(Oli)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.