为什么 gnomeshell 的系统托盘菜单滞后这么多?以及如何修复它(是否有任何 dconf 或其他选项我可以用来重新编译 gnome)?

为什么 gnomeshell 的系统托盘菜单滞后这么多?以及如何修复它(是否有任何 dconf 或其他选项我可以用来重新编译 gnome)?

如果我将鼠标悬停在系统托盘上的任何东西上,它都会很快。
当我点击那里显示菜单的某个东西时,在将鼠标悬停在每个菜单项上之间,整个界面(屏幕上的所有内容)会冻结 1 到 3 秒!

我在某个终端中运行它,并在将鼠标悬停在系统托盘菜单的选项上时持续观察它:
while true;do echo -n .;sleep 0.1;done

这不是内存已满,也不是交换问题。内存已使用 62%。我还检查了 IOWait,没有问题。
但我注意到,htopgnome-shell 的 CPU 使用率上升了很多,最高达到 >=100%。如果我不停地在菜单上移动鼠标(试图让条目一直突出显示),整个界面都不会更新,直到我停止移动鼠标并静静等待几秒钟!

我能做些什么来修复它?
辅助功能/动画选项已被禁用。

我想知道是什么原因造成的,这对我来说毫无意义。为什么更新菜单中的突出显示会冻结整个窗口管理器?它看起来不需要更强大的硬件,它看起来只是可以禁用的东西(例如禁用菜单项突出显示),或者告诉 gnomeshell 以更简单的方式呈现菜单,而不需要中断整个 WM...

ubuntu 22.04,wayland。

相关,但我要求一种调整 ubuntu 的方法,因为我使用了很多 gnome 的东西,我不知道 LUbuntu 是否有替代品:最近从 Windows 10 安装了 Ubuntu 22.04,在菜单中移动光标时出现严重滞后。帮忙吗?

似乎在 gnome-shell 内存泄漏达到约 1GB 后,甚至之后sudo swapoff -a,菜单开始变慢,机器开始过热(升高 10oC),如果我坚持不重启系统,只是挂起,每次从挂起状态唤醒时,内存负载都会增加约 75MB。所以,我猜很快它会再次变得非常慢,过热将总共升高 15oC。

如果您想阅读的话,这里有一些旧的测试结果。

我想安装 LUbuntu(轻量级),但这样会失去 gnome。最后我不得不重启,所以我先更新了所有可能的软件包。重启后,gnome-shell 占用了 300MB 的 RAM。现在,在 htop 中,它在 RES 中为 430MB,在从挂起状态唤醒几次后(2 天后现在是 915MB,我猜 1 或 2 周后,如果不重启系统,问题可能会再次发生)。如果我知道这个提示https://superuser.com/a/1443379/1880812我可以确认哪些应用程序正在使用交换空间。但是当它滞后很多时,gnome-shell 使用了 1.6GB 的 RES,并且 SWAP 中也有一些 GB,所以我猜测可能是 gnome-shell 使用了更多的内存,而且大部分内存都在 SWAP 中。一旦再次发生这种情况,我会在这里更新,因为现在一切都又变得超级快了,CPU 温度也降低了大约 10oC(当它滞后时,它也更热)。所以,删除评论的那个家伙的提示可能是正确的。gnome-shell 可能会因为内存泄漏/膨胀而大量交换,即使仍然有大量可用 RAM。(当我获得更多测试结果时,我也会缩短这段文字)但如果 gnome-shell 可以卸载其所有内部数据并重新加载,这可以解决不经常重启的机器的内存泄漏问题!。

相关内容