Como eu determino que ZCACHE funciona na minha caixa?

5

Eu tenho um servidor NAS baseado em ARM da Marwell Kirkwood Zyxel NSA 310. Eu compilei meu próprio kernel 3.8 e habilitei ZCACHE, mas ainda vejo 256 MB de RAM. Não tenho certeza se o utilitário GNU free deve mostrar uma quantidade extra de RAM. Como eu descubro que está realmente funcionando? Preciso fazer algumas etapas extras para usá-lo? Eu adicionei "zcache" à linha de comando.

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

Eu sei que é "mesclar" páginas compactando-as, mas como ver a taxa de compactação ou algo assim.

    
por lzap 18.03.2013 / 10:03

2 respostas

1

O zcache está enterrado dentro do RAM e não é facilmente visível com as ferramentas atuais. Para ver os detalhes você precisa montar o debugfs e procurar em / sys / kernel / debug / zcache onde há um monte de estatísticas, mais do que você poderia querer. O frontswap é relatado como pers_ * (para persistente) e cleancache como eph_ * (para efêmero), embora possam incluir outras categorias no futuro. Existem diretórios separados para armazenamentos e cargas cleancache e frontswap.

    
por 13.06.2013 / 16:50
1

O layout parece ter mudado um pouco no último 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
    
por 18.08.2013 / 15:37