我使用的是 Ubuntu 17.10,带有默认的 Ubuntu 桌面(未添加任何扩展),我的电脑有 4 GB 的 RAM。我注意到,每次使用 Gnome Shell 时,无论是按下+ 、+Super键还是单击顶部栏上的元素,该进程的 RAM 使用量都会增加几 MB。这似乎不是什么大问题,但经过几个小时的工作后,使用量会超过 1.5 GB,总 RAM 使用量接近 4 GB。然后交换空间开始被填满,导致我的电脑运行非常慢。SuperASuperTabgnome-shell
gnome-shell
还有人注意到同样的情况吗?为什么gnome-shell
内存不断增加?除了注销之外,还有其他方法可以清除 gnome-shell 内存使用量吗?
答案1
几年后,当这个问题被关闭并重新打开时,我很清楚这个问题是什么。所以我回答了我自己的问题。
还有人注意到同样的情况吗?为什么 gnome-shell 内存不断增加?
这个问题是由于臭名昭著的GNOME Shell 内存泄漏这个问题在 Ubuntu 17.10 之前就已经困扰 GNOME Shell 了。错误报告该问题可以追溯到 2017 年 3 月 13 日,但该问题可能在那之前就存在了。
GNOME 开发人员(乔治·巴西尔·斯塔夫拉卡斯·内图)在 2018 年继续寻找泄漏原因,并发现它与垃圾收集。该修复程序于当年晚些时候针对 Ubuntu 18.04 和 17.10 发布。
自修复发布以来,我还没有发现任何更严重的内存泄漏。不过,其他用户也发现了一些内存泄漏,大多是轻微的,如上面链接的错误报告所示,但它们是由不同的原因造成的。
gnome-shell
除了注销之外,还有其他方法可以清除内存使用量吗?
在 Xorg 会话中,按Alt+ F2、输入r
并按重新启动 GNOME ShellEnter足以清除泄漏的内存并将计算机恢复到可用状态。在 Xorg 上重新启动 GNOME Shell 仍然是解决许多问题的好方法。
但是,无法(现在仍然无法)以类似的方式重新启动 Wayland 会话,因此当时在 Wayland 上解决该问题的唯一方法是注销并重新登录。