Linux では、 が使用するメモリを取得する方法が 2 つありますext4_inode_cache
。1 つ目はslabtop
、「CACHE SIZE」情報も取得できるコマンドを使用する方法です。
# slabtop -o -s c | grep -E '(ext4_inode_cache|NAME)'
OBJS ACTIVE USE OBJ SIZE SLABS OBJ/SLAB CACHE SIZE NAME
118794 114631 96% 1.16K 9138 13 146208K ext4_inode_cache
2 番目は読み取りです/proc/slabinfo
が、計算された「CACHE SIZE」は表示されません。
# grep -E '(pagesperslab|ext4_inode_cache)' /proc/slabinfo
# name <active_objs> <num_objs> <objsize> <objperslab> <pagesperslab> : tunables <limit> <batchcount> <sharedfactor> : slabdata <active_slabs> <num_slabs> <sharedavail>
ext4_inode_cache 114631 118794 1184 13 4 : tunables 0 0 0 : slabdata 9138 9138 0
上記の数値からどのように計算すればよいでしょうか? slaptop のソース コードには次のような式があります:
しかし、計算後の結果が slaptop の「CACHE SIZE」出力と一致しないので、間違いなく何か間違っています。
答え1
気にしないでください。私はそれを理解しました:
"CACHE SIZE" = <pagesperslab> * <batchcount> * PAGE_SIZE
PAGE_SIZEは通常4kです