/proc/slabinfo에서 "ext4_inode_cache"가 사용하는 메모리를 계산하시겠습니까?

/proc/slabinfo에서 "ext4_inode_cache"가 사용하는 메모리를 계산하시겠습니까?

Linux에서는 ext4_inode_cache. 첫 번째는 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

두 번째는 읽고 있지만 /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입니다.

관련 정보