----- Original Message ----- > Hi, > > With a ramdump of a system with 386MB of available memory, "kmem -s" > shows something like this > > CACHE NAME OBJSIZE ALLOCATED TOTAL SLABS > SSIZE > dd801c00 kmalloc-2048 2048 670869 670960 > 41935 32k > > The memory occupied by objects go beyond the total system memory if we > use the above numbers to calculate that. I think the output is wrong > because with SLUB, slabs can be of different sizes depending on the > order of allocation. And here objects are calculated considering slabs > are of fixed size. > > The attached patch worked for me. > > Thanks, > Vinayak > Something's not adding up, literally, when I compare the old values with those shown by your patch. For examples, without your patch, check just the caches with a single slab page, like the nfs_commit_data, fuse_inode and bio-2 caches: crash> kmem -s CACHE NAME OBJSIZE ALLOCATED TOTAL SLABS SSIZE ffff880467c36300 nf_conntrack_ffff880065dd8000 312 0 0 0 8k ffff88046751f900 nf_conntrack_ffff880465411200 312 0 0 0 8k ffff8804608db000 nfs_direct_cache 352 0 0 0 8k ffff8804608daf00 nfs_commit_data 680 23 23 1 16k <= ffff8804608dae00 nfs_read_data 872 447 576 16 32k ffff8804608dad00 nfs_inode_cache 1048 1315 1364 44 32k ffff8804608dac00 fscache_cookie_jar 80 256 276 6 4k ffff88040b958000 fuse_inode 728 21 21 1 16k <= ffff88046751f800 btrfs_delayed_data_ref 96 0 0 0 4k ffff88046751f700 btrfs_delayed_ref_head 160 0 0 0 4k ffff88046751f600 btrfs_delayed_node 304 0 0 0 8k ffff88046751f500 btrfs_ordered_extent 424 0 0 0 16k ffff88046751f400 bio-2 320 25 25 1 8k <= ... Taking their respective object sizes into account: nfs_commit_data has an object size of 680, and the 16k slab can hold 23 objects: 23 * 680 = 15640 fuse_inode has an object size of 728, and the 16k slab can hold 21 objects: 21 * 728 = 15288 bio-2 has an object size of 320, and the 8k slab can hold 25 objects: 25 * 320 = 8000 With your patch applied, note that those caches show double the number above, or 46, 42 and 50 respectively: crash> kmem -s CACHE NAME OBJSIZE ALLOCATED TOTAL SLABS SSIZE ffff880467c36300 nf_conntrack_ffff880065dd8000 312 0 0 0 8k ffff88046751f900 nf_conntrack_ffff880465411200 312 0 0 0 8k ffff8804608db000 nfs_direct_cache 352 0 0 0 8k ffff8804608daf00 nfs_commit_data 680 46 46 1 16k ffff8804608dae00 nfs_read_data 872 684 724 15 32k ffff8804608dad00 nfs_inode_cache 1048 1534 1534 43 32k ffff8804608dac00 fscache_cookie_jar 80 532 532 6 4k ffff88040b958000 fuse_inode 728 42 42 1 16k ffff88046751f800 btrfs_delayed_data_ref 96 0 0 0 4k ffff88046751f700 btrfs_delayed_ref_head 160 0 0 0 4k ffff88046751f600 btrfs_delayed_node 304 0 0 0 8k ffff88046751f500 btrfs_ordered_extent 424 0 0 0 16k ffff88046751f400 bio-2 320 50 50 1 8k ... What am I missing? Dave -- Crash-utility mailing list Crash-utility@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/crash-utility