使用所有系统内存的不可见进程

for*_*nsa 6 server vps memory-usage ram 14.04

我有一个带有 512MB RAM 的 VPS(Ubuntu 14.04)。这曾经足够了,但有一段时间,这已经引起了问题——有些东西正在吃掉所有的内存,而我的调试让我毫无头绪。

我已经关闭了 Apache、MySQL 等,我仍然使用 90% 的内存。它只是让我感到困惑。我已经重启了多次。

截屏

我敢肯定我只是愚蠢,但我很感激这个社区可以就这个问题提供的任何智慧。

Byt*_*der 4

您仅安装了 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
Run Code Online (Sandbox Code Playgroud)

虽然该used列显示总共使用了多少内存(如htop),但该available列显示了应用程序可分配的内存量。这通常是最终用户感兴趣的数字。

替代输出格式(从底部的链接复制):

             total       used       free     shared    buffers     cached
Mem:          1504       1491         13          0         91        764
-/+ buffers/cache:        635        869
Swap:         2047          6       2041
Run Code Online (Sandbox Code Playgroud)

在这种格式中,有趣的可分配 RAM 数量位于列中free,但位于-/+ buffers/cache行中。

相关必读网站: http: //www.linuxatemyram.com/

  • 感谢您非常有帮助的回答!我现在知道我有 [140MB 免费](http://i.imgur.com/dtuZY3e.png)。但我仍然对其他内存在使用什么感到困惑!正如您所看到的,`htop` 表示没有一个进程使用超过 1% 的 RAM,除非我也读错了。您知道另外 300MB 去哪儿了吗?当然操作系统本身没有使用它吗?毕竟这是一个服务器 (3认同)