/proc/slabinfo から "ext4_inode_cache" が使用するメモリを計算しますか?

/proc/slabinfo から "ext4_inode_cache" が使用するメモリを計算しますか?

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 のソース コードには次のような式があります:

https://github.com/thlorenz/procps/blob/b713185dc7b4c82d8cbc9f4be7e345f09df365bb/deps/procps/proc/slab.c#L179

しかし、計算後の結果が slaptop の「CACHE SIZE」出力と一致しないので、間違いなく何か間違っています。

答え1

気にしないでください。私はそれを理解しました:

"CACHE SIZE" = <pagesperslab> * <batchcount> * PAGE_SIZE 

PAGE_SIZEは通常4kです

関連情報