![使用所有系统内存的不可见进程](https://linux22.com/image/991315/%E4%BD%BF%E7%94%A8%E6%89%80%E6%9C%89%E7%B3%BB%E7%BB%9F%E5%86%85%E5%AD%98%E7%9A%84%E4%B8%8D%E5%8F%AF%E8%A7%81%E8%BF%9B%E7%A8%8B.png)
我有一个 VPS(Ubuntu 14.04),内存为 512MB。以前这个内存足够了,但有一段时间,它带来了一些问题——某物正在消耗所有内存,而我的调试却让我毫无头绪。
我已经关闭了 Apache、MySQL 等,但仍然使用了 90% 的内存。这真是让我困惑。我已重启多次。
我确信我只是很笨,但我很感激这个社区能就这个问题传授的任何智慧。
答案1
您只安装了 500 MB 的 RAM。考虑到这么少的资源,我并不惊讶其中大部分都被使用了。
另一方面,htop
将实际使用的内存(由应用程序分配)和缓存(由系统用于缓存磁盘访问,但在需要时可立即供应用程序使用)相加。因此,“非可用”内存量看起来比实际大得多。
检查的输出free -h
,它将为您提供更多详细信息:
total used free shared buff/cache available
Mem: 11G 1,2G 9,2G 30M 1,2G 10G
Swap: 7,5G 0B 7,5G
虽然该used
列显示了总共使用了多少内存(如htop
),但available
列显示应用程序可分配的内存量。这通常是最终用户感兴趣的数字。
替代输出格式(从底部的链接复制):
total used free shared buffers cached
Mem: 1504 1491 13 0 91 764
-/+ buffers/cache: 635 869
Swap: 2047 6 2041
在这种格式中,可分配 RAM 的有趣数字位于free
列中,但在-/+ buffers/cache
排。
相关必读网站: http://www.linuxatemyram.com/