Marwell Kirkwood ARMベースのNASサーバーであるZyxel NSA 310があります。 ZCACHEを有効にして独自の3.8カーネルをコンパイルしましたが、まだ256MBの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
圧縮するのが「マージ」ページであることはわかりますが、圧縮率などを確認するのはどうですか?
答え1
zcache は RAM 内に埋め込まれており、現在のツールでは簡単には見えません。詳細については、debugfsをインストールし、必要なものよりも多くの統計を持つ/sys/kernel/debug/zcacheを見てください。 frontswap は pers_* (持続性用) として報告され、cleancache は eph_* (一時用) として報告されます。しかし、これには今後他のカテゴリが含まれる可能性があります。クリーンキャッシュとフロントスワップを保存およびロードするための別々のディレクトリがあります。
答え2
最新の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