我有一个
Linux硬件服务器,有16GB的物理内存并运行一些应用程序.到目前为止,这台服务器启动并运行了大约365天,我观察到“free -m”显示内存不足.
total used free shared buffers cached
Mem: 14966 13451 1515 0 234 237
-/+ buffers/cache: 12979 1987
Swap: 4094 367 3727
据我所知,1987年系统中的实际可用内存不到14%.如果我在“ps -A v”输出中添加%MEM部分或从“top”添加,则它不会加起来为100%.
我需要理解为什么内存如此之低?
更新(2012年2月29日):
让我把这个问题分成两部分:
1)具有较少空闲内存的系统.
2)识别已用内存的去向.
对于1),我理解;如果系统在可用内存上运行不足,我们可能会看到性能逐渐下降.在某些时候,分页会为系统提供额外的空闲内存,从而恢复系统性能.如果我错了,请纠正我.
对于2),现在这就是我想要了解使用内存消失的地方.如果我总结输出“ps -A v”或“top -n 1 -b”中的%MEM,则不超过50%.那么在哪里可以解释其余40%的无法追踪的记忆.我们在服务器中有自己的内核模块.如果这些模块泄漏内存,他们会得到记录.是否可以知道内核模块中的泄漏量.