在全新安装 Debian VPS 后,我的系统显示内存使用量非常低。我不确定这是否是个问题。但根据“free -m”,我的系统仅使用了 21MB 的 RAM
total used free shared buffers cached
Mem: 512 510 1 0 0 488
-/+ buffers/cache: 21 490
Swap: 512 435 76
这是一款小型 Debian 7 VPS,配备 512MB RAM,运行 postgresql/php/lighttpd
我很担心,因为当输出显示只使用了 21MB 的 RAM 时,资源密集型查询正在后台运行。
即使关闭了 postgresql,free -m 仍然显示相同的内容。事实上,自从全新安装 VPS 以来,free -m 的输出并没有发生太大变化。
现在我正在运行 lighttpd / postgresql / sphinxsearch / php 等。
那么 RAM 使用率这么低正常吗?
如果不是,可能的原因是什么?
谢谢
编辑:我说的是低 RAM 使用率,而不是 Linux 所指出的高 RAM 使用率,消耗了我的 RAM。
答案1
我觉得你对内存使用量有点误解了。实际内存使用量小是正常的,但你的情况可能更多。
根据您的“free -m”输出:
The total memory is: 512 MB
Used memory: 510 MB
Free memory: 1 MB
Cached memory: 488 MB
Total swap: 512 MB
Used swap: 435 MB <-- Worry about that!
Free swap: 76 MB
由于您使用了几乎所有的交换空间,因此您的系统部分运行在交换空间中,性能可能会严重下降。在这种情况下,担心是好的,但您担心的理由是错误的。相信报告的内存使用情况是正确的,确保正确解释它。
理论上,可用 RAM 可能是 488 + 1 = 489MB,即可用内存和缓存内存相加。
我认为所有这些查询都以缓存内存的形式消耗内存(但仍然可供进程使用),然后还消耗了大部分交换空间,正如我所说,这会降低性能。那么如何保证实际进程不会(部分)从交换空间运行,或需要访问交换的内存呢?
我的建议是修复查询问题,不要担心内核是否正确报告内存使用情况,我相当有信心它是正确的。:-)