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