вычисление памяти, используемой "ext4_inode_cache" из /proc/slabinfo?

вычисление памяти, используемой "ext4_inode_cache" из /proc/slabinfo?

В Linux у меня есть два способа получить память, используемую ext4_inode_cache. Первый — использовать slabtopкоманду, которая также выдает мне информацию о «РАЗМЕРЕ КЭША»:

#  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не дает мне вычисленного «РАЗМЕРА КЭША»:

# 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

Но я наверняка делаю что-то неправильно, поскольку результат, который я получаю после моих вычислений, не совпадает с выводом «CACHE SIZE» slaptop.

решение1

Ничего, я понял:

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

PAGE_SIZE обычно равен 4k

Связанный контент