如何修复Linux 2.6.18内核后“消失”的内存?

从这里移动: https : //stackoverflow.com/questions/7070640/how-to-fix-disappeared-memory-after-linux-2-6-18-kernel

我认为目前有一个已知的问题,自2.6.18内核以来有一些内存显示问题:

例如:

dmesg | grep Memory [ 0.000000] Memory: 82008k/98304k available (3091k kernel code, 448k absent, 15848k reserved, 2471k data, 460k init) 

这是使用Xen PV的96MB RAM VPS上的实际内存量。

但是,使用free -m时,这里是实际输出:

 free -m total used free shared buffers cached Mem: 86 74 11 0 8 48 -/+ buffers/cache: 18 68 Swap: 127 0 127 

看来,10MB的内存被免费的-m输出“吃掉”了。

有没有人有任何解决办法解决这个问题?

谢谢!

开始的时候只有90MB,注意到内核对内核表使用的内存数量,以及在内存中占很大比例的驱动程序中编译的内存数量。 这个问题很容易通过调整来解决。

如果你正在寻求减less与内核挂钩的内存量,你应该研究构build自己的内核。 从这个问题中不清楚你使用的是什么操作系统,但是如果你是在CentOS或者其他一些消费者的linux上,那么内核可能有一些你可能没有使用的东西。 下面是构build一个更简单的内核的一些资源:

http://elinux.org/Kernel_Size_Tuning_Guide

http://www.yolinux.com/TUTORIALS/LinuxTutorialOptimization.html