Take the 2-minute tour ×

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

  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)?

share|improve this question
add comment

1 Answer

Tempfs uses swap space as required.. Until you put something into it, it likely only has the mount structure allocated.

share|improve this answer
add comment

Your Answer


