Linux

我如何確定 ZCACHE 在我的盒子上工作?

  • August 18, 2013

我有一個基於 Marwell Kirkwood ARM 的 NAS 伺服器 Zyxel NSA 310。我編譯了自己的 3.8 核心並啟用了 ZCACHE,但我仍然看到 256 MB 的 RAM。我不確定 GNU 免費實用程序是否應該顯示額外的 RAM。我如何發現它真的有效?我需要做一些額外的步驟來使用它嗎?我已將“zcache”添加到命令行。

root@nas:~# free -m
            total       used       free     shared    buffers     cached
Mem:           247        218         29          0          7        166
-/+ buffers/cache:         43        203
Swap:         1427          0       1427

root@nas:~# zgrep CACHE /proc/config.gz 
CONFIG_CLEANCACHE=y
CONFIG_ZCACHE=y

root@nas:~# dmesg | grep zcache
Kernel command line: console=ttyS0,115200 root=/dev/sda3 zcache
zcache: using lzo compressor
zcache: cleancache enabled using kernel transcendent memory and compression buddies
zcache: cleancache: ignorenonactive = 1
zcache: frontswap enabled using kernel transcendent memory and compression buddies
zcache: frontswap: excl gets = 1 active only = 1
zcache: created ephemeral local tmem pool, id=0
zcache: created persistent local tmem pool, id=1
zcache: created ephemeral local tmem pool, id=2
zcache: created ephemeral local tmem pool, id=3
zcache: created ephemeral local tmem pool, id=4

root@nas:~# cat /proc/cmdline 
console=ttyS0,115200 root=/dev/sda3 zcache

我知道它正在“合併”壓縮它們的頁面,但是如何查看壓縮率或類似的東西。

zcache 隱藏在 ram 中,使用目前工具不容易看到。要查看詳細資訊,您需要掛載 debugfs 並查看 /sys/kernel/debug/zcache 那裡有一大堆統計資訊,比您想要的要多。frontswap 報告為 pers_(用於持久性),而 cleancache 報告為 eph_(用於臨時性),儘管將來可能包括其他類別。cleancache 和 frontswap 儲存和載入有單獨的目錄。

最新的 git 中的佈局似乎發生了一些變化:

# ls cleancache ; ls frontswap ; ls zbud
failed_gets        invalidates             puts                succ_gets
failed_stores      invalidates             loads               succ_stores
eph_buddied_count  eph_evicted_pageframes  eph_zbytes          pers_cumul_zbytes        pers_pageframes         pers_zombie_count
eph_cumul_zbytes   eph_pageframes          eph_zpages          pers_cumul_zpages        pers_unbuddied_count    pers_zpages
eph_cumul_zpages   eph_unbuddied_count     pers_buddied_count  pers_evicted_pageframes  pers_zbytes

# uname -v
#201308150422 SMP Thu Aug 15 08:31:51 UTC 2013

引用自:https://unix.stackexchange.com/questions/68300