OK so here is a follow on question to link. When I create a tmpfs filesystem on t and allocate say 100MB of space, why can't I see it in slabtop or /proc/slabinfo. I thought maybe it was because it would get allocated in small chunks by malloc-2048 and such, but I could see no evidence.
Next I tried to look if it was a kernel thread and no love there either using:
ps -eF --sort vsize
So, what kind of slab cache does tmpfs use?
Better yet check out the following:
Active / Total Objects (% used) : 25717 / 34292 (75.0%)
Active / Total Slabs (% used) : 1497 / 1497 (100.0%)
Active / Total Caches (% used) : 94 / 140 (67.1%)
Active / Total Size (% used) : 4825.17K / 5860.13K (82.3%)
Minimum / Average / Maximum Object : 0.01K / 0.17K / 128.00K
OBJS ACTIVE USE OBJ SIZE SLABS OBJ/SLAB CACHE SIZE NAME
6728 2476 36% 0.13K 232 29 928K dentry_cache
3240 3223 99% 0.05K 45 72 180K buffer_head
3024 2949 97% 0.04K 36 84 144K sysfs_dir_cache
2162 2137 98% 0.08K 47 46 188K vm_area_struct
[root@krite ~]# free -m
total used free shared buffers cached
Mem: 249 187 62 0 2 153
-/+ buffers/cache: 31 218
Swap: 3074 0 3074
So the question is where does this memory come from?
Also, and maybe this is a separate question, but how does one see a breakdown of cache/buffers reported by free/top/vmstat? All three of these programs use the same libraries from procps. Is there a way to see what disks/io operations the buffered/cached memory is attached to (i.e. what disk)?
Tempfs uses swap space as required.. Until you put something into it, it likely only has the mount structure allocated.