GNOME Shell内存泄露问题正在修复中 原因竟是忘记进行垃圾回收

NOME Shell 被发现存在内存泄露的问题,现在官方开发团队已确认导致这个问题的原因 —— 忘记进行垃圾回收……GNOME 称目前正在修复该问题。“触发垃圾回收能够将 GNOME Shell 使用的内存量减少到正常水平”GNOME 开发者花了大约一周的时间来定位问题的根源,不过谢天谢地,内存泄漏的原因(看起来)已经确定。

GNOME 开发者 Georges Basile Stavracas 在仔细研究他在 GitLab 上关于 bug 的测试、检查和调查结果的过程中,似乎发现了导致这个 bug 的原因,“……有些问题伴随着垃圾回收器一起出现。”

Georges Basile Stavracas 表示,在他放弃寻找内存泄漏原因的所有希望之后,发现了一个非常有趣的行为,并且可以重现这个过程。他推断只有一系列相互依赖的对象的根对象被回收后,才能最终确定它的子对象/依赖对象会被标记为 GC 状态。

通过运行 GJS(GNOME 的 JavaScript 绑定) 的垃圾回收器,Stavracas 称能够减少大约 250MB 的内存使用量(GNOME Shell 在启动时的消耗)。

不过目前关于这个 bug 的补丁尚未发布,依旧处于修复中的状态。所以不能确定下个月发布的 18.04 LTS 是否包含这个 bug 的修复,如果没有,只能期待后续的更新。

而 Ubuntu 17.10 和 Ubuntu 18.04 LTS 在 Launchpad 上关于 GNOME Shell 的内存泄露问题已被标记为“关键”和“高”优先级级别,这表明 Ubuntu 对这个问题足够关心,将会及时提供修补建议。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180401A0YJJD00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券