什么内核结构代表由free / top / vmstat报告的tmpfs和caching/缓冲区的内存?

好的,所以这里是一个关于连接的问题。 当我在t上创buildtmpfs文件系统并分配100MB空间时,为什么我无法在slabtop或/ proc / slabinfo中看到它。 我想也许是因为它会被malloc-2048等小块分配,但是我看不到任何证据。

接下来,我试着去看看它是否是一个内核线程,而不是在那里使用:

ps -eF –sort vsize

那么,tmpfs使用什么样的slabcaching呢?

最好还是看看以下几点:

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 

所以问题是这个记忆来自哪里?

此外,也许这是一个单独的问题,但如何看到由free / top / vmstat报告的caching/缓冲区的细分? 所有这三个程序都使用procps中的相同库。 有没有办法看到缓冲/caching内存连接到什么磁盘/ Io操作(即什么磁盘)?

Tempfs根据需要使用交换空间。直到你放入东西,它可能只有分配的安装结构。