使用同一台物理电脑,测试是在相同的硬件环境中进行的。
由于笔记本内存有12GB,测试起来不太方便,也不想拆内存,所以开机机时,在内核中临时加入参数并限制内存为2GB
注:在/etc/sysctl.conf中,始终是这样设置的:vm.swappiness=0
测试情景1:最大内存 2GB,不开启zswap
首先,在一个干净的开机动作完成后并进入到桌面,先静置操作系统3分钟,什么也不动,并查看内存使用情况如下:
代码: 全选
kashu:~$ free -m
total used free shared buffers cached
Mem: 1999 1538 460 303 50 1157
-/+ buffers/cache: 331 1668
Swap: 976 0 976
代码: 全选
kashu:~$ free -m
total used free shared buffers cached
Mem: 1999 1731 268 351 50 993
-/+ buffers/cache: 687 1312
Swap: 976 0 976
代码: 全选
kashu:~$ free -m
total used free shared buffers cached
Mem: 1999 1724 274 510 0 598
-/+ buffers/cache: 1126 872
Swap: 976 148 828
测试情景2:最大内存 2GB,开启了zswap,使用lz4 compressor,25%(2048MB*0.25=512MB)的最大内存作为zswap的pool
首先,在一个干净的开机动作完成后并进入到桌面,先静置操作系统3分钟,什么也不动,并查看内存使用情况如下:
代码: 全选
kashu:~$ free -m
total used free shared buffers cached
Mem: 1999 1410 588 176 50 1030
-/+ buffers/cache: 330 1669
Swap: 976 0 976
代码: 全选
kashu:~$ free -m
total used free shared buffers cached
Mem: 1999 1789 209 227 51 1013
-/+ buffers/cache: 724 1275
Swap: 976 0 976
代码: 全选
kashu:~$ free -m
total used free shared buffers cached
Mem: 1999 518 1480 86 2 159
-/+ buffers/cache: 356 1643
Swap: 976 326 650
代码: 全选
kashu:~$ sudo grep -R . /sys/kernel/debug/zswap/
[sudo] password for kashu:
/sys/kernel/debug/zswap/stored_pages:45016
/sys/kernel/debug/zswap/pool_total_size:114397184
/sys/kernel/debug/zswap/duplicate_entry:0
/sys/kernel/debug/zswap/written_back_pages:0
/sys/kernel/debug/zswap/reject_compress_poor:9824
/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
上面的测试相当简单/粗糙,但已经可以说明zswap对系统性能的提升确实是有明显的帮助。
有谁有更好、更全面的测试方法可以推荐一下?谢谢!