為您提供各行業(yè)互聯(lián)網(wǎng)私人定制開發(fā)解決方案
GNOME Shell 內(nèi)存泄露問題正在修復中 原因竟是忘記進行垃圾回收
GNOME Shell 被發(fā)現(xiàn)存在內(nèi)存泄露的問題,現(xiàn)在官方開發(fā)團隊已確認導致這個問題的原因 —— 忘記進行垃圾回收…… GNOME 稱目前正在修復該問題。“觸發(fā)垃圾回收能夠?qū)?GNOME Shell 使用的內(nèi)存量減少到正常水平” GNOME 開發(fā)者花了大約一周的時間來定位問題的根源,不過內(nèi)存泄漏的原因(看起來)已經(jīng)確定。
GNOME 開發(fā)者 Georges Basile Stavracas 在仔細研究他在 GitLab 上關(guān)于 bug 的測試、檢查和調(diào)查結(jié)果的過程中,似乎發(fā)現(xiàn)了導致這個 bug 的原因,“……有些問題伴隨著垃圾回收器一起出現(xiàn)?!?/span>
Georges Basile Stavracas 表示,在他放棄尋找內(nèi)存泄漏原因的所有希望之后,發(fā)現(xiàn)了一個非常有趣的行為,并且可以重現(xiàn)這個過程。他推斷只有一系列相互依賴的對象的根對象被回收后,才能最終確定它的子對象/依賴對象會被標記為 GC 狀態(tài)。
通過運行 GJS(GNOME 的 JavaScript 綁定) 的垃圾回收器,Stavracas 稱能夠減少大約 250MB 的內(nèi)存使用量(GNOME Shell 在啟動時的消耗)。
不過目前關(guān)于這個 bug 的補丁尚未發(fā)布,依舊處于修復中的狀態(tài)。所以不能確定下個月發(fā)布的 18.04 LTS 是否包含這個 bug 的修復,如果沒有,只能期待后續(xù)的更新。
而 Ubuntu 17.10 和 Ubuntu 18.04 LTS 在 Launchpad 上關(guān)于 GNOME Shell 的內(nèi)存泄露問題已被標記為“關(guān)鍵”和“高”優(yōu)先級級別,這表明 Ubuntu 對這個問題足夠關(guān)心,將會及時提供修補建議。