Berechnen des von „ext4_inode_cache“ verwendeten Speichers aus /proc/slabinfo?

Berechnen des von „ext4_inode_cache“ verwendeten Speichers aus /proc/slabinfo?

Unter Linux habe ich zwei Möglichkeiten, den von verwendeten Speicher abzurufen ext4_inode_cache. Die erste ist die Verwendung des slabtopBefehls, der mir auch Informationen zur „CACHE-GRÖSSE“ liefert:

#  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

Zweitens wird es gelesen /proc/slabinfo, aber es gibt mir nicht die berechnete „CACHE-GRÖSSE“:

# 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

Wie berechne ich es aus den obigen Zahlen? Der Quellcode von Slaptop enthält eine Formel:

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

Aber ich mache bestimmt etwas falsch, da das Ergebnis, das ich nach meiner Berechnung erhalte, nicht mit der „CACHE SIZE“-Ausgabe von Slaptop übereinstimmt.

Antwort1

Egal, ich habe es herausgefunden:

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

PAGE_SIZE beträgt im Allgemeinen 4k

verwandte Informationen