Ubuntu 为何占用这么多内存?

Ubuntu 为何占用这么多内存?

我刚刚打开电脑,有两个应用程序正在运行:Thunderbird 和 Firefox。其他正在运行的程序都是 Ubuntu 功能集的一部分(还有一些指示器)。

这种情况已经持续了数周,所以我不确定这是否是正常行为。

现在,我的内存使用指示器显示 Ubuntu 占用了我 6GB RAM 的 41%。我甚至还没有打开 Gimp 或其他日常程序。本周我将再购买 6GB RAM,这样在使用 Gimp 或 Openshot 等程序时就不会耗尽内存。

我正在运行的应用程序概览显示 Nautilus 占用最多资源,但它甚至没有打开。这似乎有点过分,还是我遗漏了什么?

正在运行的应用程序的屏幕截图

答案1

free -m尝试在终端中运行该命令,然后查看第二行。它显示内存使用量减去用于缓存的内存。例如,我的地下室服务器的内存使用量如下:

                   total       used       free     shared    buffers     cached
 Mem:               2003       1663       340          0        601        462
 -/+ buffers/cache:            599       1404
 Swap:             9536         21       9515

我的服务器使用 1663Mb 内存,但只有 599Mb 分配给进程。其余内存由内核用作缓存,因此 1404Mb 可自由使用。请记住,完全未使用的内存是浪费的内存。如果进程不使用内存,则应将其用于缓存磁盘等。例如,如果您关闭 Firefox,则程序可以保留在内存中,以便下次需要时启动速度更快。如果应用程序需要内存,则将分配内存而无需将其交换到磁盘。

您的屏幕截图没有告诉您的另一件事是共享库、同一程序的不同进程之间共享的代码等使用了多少内存。例如,不同的gwibber-service进程可能共享大量内存。如果您想要了解整个情况,您需要查看虚拟内存、常驻内存、共享内存等(可在首选项中找到)。

只要您没有感觉到机器将内存交换到磁盘的迟缓,您就根本不必担心。

答案2

nautilus 处于打开状态的最可能原因是它用于绘制桌面 - 桌面上的所有图标以及壁纸(我认为)都由 nautilus 处理。但是,它的内存使用量似乎相当高。所有其他服务似乎或多或少都在正常范围内,尽管我不确定为什么会有这么多 gwibber 进程。

您是否将桌面设置为执行一些不寻常的操作,例如显示主文件夹的内容或使用某种动画背景?如果您killall nautilus在终端中运行 nautilus 进程,会发生什么情况?它重新启动时是否消耗相同的内存量?

相关内容