Google Chrome開發人員嘗試一種新的方式來更好地釋放RAM
Google的Chrome瀏覽器是一個眾所周知的內存吞噬者。我們在6月份曾報導過,谷歌打算嘗試微軟提供的Segment Heap技術,以減少Chrome瀏覽器1/3的RAM使用量,但最終發現會導致程序不穩定後放棄了這種方法。現在Tom’s Guide報導,谷歌的Chrome開發者正計劃嘗試新的做法。
他們打算使用Windows 10的TerminateProcess API來徹底關閉瀏覽器進程。TerminateProcess函數可以無條件地終止一個指定的進程及其所有線程。
利落地退出一個進程既困難又昂貴,尤其是對於工作中的瀏覽器這種複雜的軟件來說,乾淨地退出可能相當緩慢。因為需要在所有線程上等待,在代碼和數據中分頁,以及判定競爭條件,每一件都是開銷非常大的事。
Chrome開發人員解釋稱:開始逐漸轉向使用TerminateProcess來處理更多的進程類型,雖然這個bug跟踪的大多數關閉進程都是在實用程序中,但這個變化對所有進程類型都使用了TerminateProcess。這應該可以用戶出現關閉幾個標籤頁甚至整個瀏覽器後依然發現內存的佔用沒有任何下降的問題。
TerminateProcess開始替代舊方法後,我們應該會看到瀏覽器隨著時間的推移慢慢變得不那麼耗費內存。
了解更多細節:
https://chromium-review.googlesource.com/c/chromium/src/+/2598043