五个月前,GNOME 社区的用户反馈了一个关于 GNOME Shell 日历服务器的 bug,此错误会影响诸如 Pop OS 19.10 和 Fedora 31 等发行版。反馈中提到 GNOME Shell 日历服务器的 CPU 占用率长期为 20~25%。此外,每隔 2、3 秒CPU 使用量会骤然升高一次。无论是对于 CPU,还是笔记本电脑的电池寿命,该错误都会给它们造成很大的影响。好在问题目前已经被解决。
反馈者将这个 bug 定位到了日历服务器中不断重启的 ECalClientView-s 服务中,并提供了许多关于此问题的详细信息、火焰图,还有不少其他用户表示在其他发行版上也遇到了同样的问题。
GNOME 开发团队成员通过与多位遇到此问题的用户进行沟通,得到了更为详细的错误信息,并于几个星期前提交了解决该问题的补丁,不过直到近日才被合并。据团队成员介绍,此前的代码在收到任何关于 ECalClientView 的变更后,始终会重启整个 ECalClientView,从而导致不断重复地重启视图。最新提交的补丁通过正确使用 ECalClientView 修复了问题,并提升了性能。
下一版本的 GNOME Shell 将会应用此修复程序。