了解Linux中的内存使用情况和数字

我有一个运行Apache的Web服务器,有一些有趣的内存使用数字。

查看顶部我有以下内存信息

Mem: 11679976k total, 10917568k used, 762408k free, 384320k buffers Swap: 4194296k total, 0k used, 4194296k free, 1103728k cached 

所以减去缓冲区和caching大约有9GB左右的内存正在使用。 免费-m证实了这一点。

  total used free shared buffers cached Mem: 11406 10642 763 0 375 1077 -/+ buffers/cache: 9189 2217 Swap: 4095 0 4095 

这个networking服务器非常繁忙,所以当我们closuresapache的时候,我们预计这个内存的使用率会大幅下降,但是它并没有太大的下降。

我怎么才能find真正用尽所有内存的东西? 从closuresapache后的顶级输出没人使用多less内存。 这告诉我没有人正在使用该内存,但系统报告正在使用它。

我们有几个服务器崩溃,因为内存已经用完,所以我们试图更好地了解发生了什么事情。

/proc/slabinfo/proc/meminfo/proc/slabinfoslabtop命令可以帮助您理解slabinfo的内容。

有caching,可以消耗内存,但没有分类为高速caching或缓冲区/免费。 想到inode和dentry(特别是如果你有大量的文件系统)。