Ubuntu 服务器内存使用不正常

Ubuntu 服务器内存使用不正常

我有一台小型 VPS 服务器,我将其用作微型和开发网站托管,以及当我想在笔记本电脑之外的地方做某事时用作平台。它的规格有点不足,只有 128M 可用内存(256 突发),但它可以工作。

为了解决这个问题,我拒绝了许多设置等等。但是,每当我尝试做某事时,它仍然会达到我的极限。

我对此进行了大量研究,但除了人们误将缓冲区和缓存当作实际进程内存使用量之外,我什么也没发现。

我总觉得有些事情不对劲,所以我终于尝试了

sh-3.2$ free
             total       used       free     shared    buffers     cached
Mem:        131072     131072          0          0          0          0
-/+ buffers/cache:     131072          0
Swap:            0          0          0
sh-3.2$ ps aux | awk '{sum += $4} END {print sum}'
67.4
sh-3.2$

因此,尽管我的所有进程加起来占总量的 2/3,但我的内存仍然完全用完了。htop 与它们两个都一致(顶部的条形图显示 128M/128M;数字一致)。

可能是 free 无法正确跟踪,或者是由于 VPS 的原因?还是有神秘原因占用了我 30% 的可用内存?

答案1

您正在对进程的驻留集求和。这不包括任何非驻留但已分配的虚拟空间。(这不能从交换中分配,因为您没有。)如上所述,您的计算还排除了内核及其数据结构。

共享代码和未使用的堆栈空间也计入虚拟大小。映射库时,您可能只分页库的一小部分(驻留集),但需要为整个库(虚拟集)分配空间。只有共享库的只读空间才会被重复计算。

答案2

你的内核使用了多少内存?

grep Memory /var/log/syslog并查看保留字段。

相关内容