我的公羊在哪儿?

我的公羊在哪儿?

我在运行 Ubuntu 12.04 的机器上安装了 2GB 内存。使用一段时间后,我发现我的内存被占用了很多。即使我关闭了所有程序,内存仍然没有足够的释放。

我附上了 2 张截图. 首先是“Gnome 系统监视器(全部流程)第二是“顶部(使用 sudo),均按内存使用量排序。从两者中可以看出,所有正在运行的应用程序加起来不可能占用 1GB 内存。前 7 个最大的程序总计 250,但其他程序要小得多(所有程序总计甚至不到 100MB)。缓存为 300MB(htop 上的黄色 |||),不包含在使用的 1GB 中。此外,260MB 已在交换中。(实际上占用了 1.3GB 的内存)

如果我启动带有许多选项卡的 Firefox(或 Chrome),则只有 1GB 可用,而不是 1.5 GB(假设 0.5GB 用于系统)。当我需要更多 RAM 时,就会进行交换。

那么我的内存在哪里?哪个程序正在使用它?我该如何释放它,以便供 Firefox 等使用?

Gnome 系统监视器 gnome 系统监视器 htop htop 截图(sudo)

答案1

free -g可能是判断系统使用了多少 RAM 的最佳方法。请参阅 serverfault 问题这里。如果您使用,free -m它将以 Mb 为单位给出详细数据。

在此示例中,来自具有 251Gb RAM 的服务器:

             total       used       free     shared    buffers     cached
Mem:           251        130        120          0          3         61
-/+ buffers/cache:         66        185
Swap:            5          0          5

实际只使用了 66Gb,但top报告显示有 137Gb。RAM 不会从缓存中释放,直到另一个程序请求它,因此如果您打开另一个需要 RAM 的程序,它将被分配给该程序。

本质上我不会担心可用的 RAM,操作系统会处理这个问题。

相关内容