我发现,只要我让笔记本电脑闲置一段时间(因为 Caffeine 没有暂停),它就会卡住,我需要通过电源按钮强制重启系统。我尝试禁用所有启动应用程序,禁用甚至卸载出现在 syslog 上的扩展等。我启用了系统监视器扩展,我发现只要我让系统闲置,RAM 使用率就会越来越高,直到一切都卡住。所以,在我失去对一切的控制之前,我使用了系统监视器,发现 Gnome-shell 正在使用 2.3GB RAM!我重新启动了 shell(alt-F2 然后 r),RAM 使用率降低到 237MB。使用时tail -f /var/log/syslog
出现如下错误:
gnome-shell[4646]: #0 5572a9982f20 i resource:///org/gnome/shell/ui/dateMenu.js
使用pmap
pgrep gnome-shell| grep -v -i deleted > /tmp/gnome-pmap1.dump
会给我与日历相关的错误:
2057: /usr/libexec/gnome-shell-calendar-server
使用 memstat (这里提到我发现问题主要是由 chrome_crashpad_handler 引起的,当我终止该进程时一切都正常。但我t know how to disable or totally remove it, and I don
根本不知道它是什么!
附有前后图片。
PS Ubuntu 22.10,Gnome 43.1,X11,在戴尔 ThinkPad Inspiron 7348 上:4GB RAM,Core i5 CPU,Intel Graphics
答案1
禁用所有可疑功能后,问题仍然存在,但在内存使用量过多而无法检查任何内容之前,我使用tail -f /var/log/syslog
并遇到了太多这样的错误:
Feb 26 20:46:46 thinkpad-lap gnome-shell[2087]: #0 55c0fea1a048 i resource:///org/gnome/shell/ui/dateMenu.js:370 (34058da3b830 @ 55)
Feb 26 20:46:45 thinkpad-lap gnome-shell[2087]: Object .Gjs_ui_dateMenu_EventsSection (0x55c0f7150cd0), has been already disposed — impossible to set any property on it. This might be caused by the object having been destroyed from C code using something such as destroy(), dispose(), or remove() vfuncs.
Feb 26 20:46:46 thinkpad-lap gnome-shell[2087]: == Stack trace for context 0x55c0f38d1190 ==
有很多错误和类似的东西,所以我开始逐个搜索,然后找到了这个漏洞和解决方案
备份我的时钟设置后:
dbus-launch dconf dump / > gnome-desktop.dconf
我确实使用以下命令重置了所有时钟设置:
dbus-launch dconf reset -f /org/gnome/clocks/
dbus-launch dconf reset -f /org/gnome/shell/world-clocks/
它帮我解决了一个令我厌烦的老问题。