寫給不懂技術的你看的:為什麼 Chrome 特愛吃記憶體?

微軟用慣用的手法——改名—— 給 IE 被黑的一生畫上了句號 。還好,它在技術圈裡早就有了接班人:Chrome。

Chrome 很好很強大,速度極快、功能很多。但同時它也是你的電腦記憶體不足或者耗電太快的罪魁禍首。沒辦法,Chrome 太愛吃記憶體了(如首圖)。

為什麼?我們找到了 4 個最關鍵的答案,不需要特別懂技術也可以理解。

  • 1. Chrome 把你在瀏覽器上做的每件事都拆成獨立的進程

在大多數 PC 操作系統中,各種軟體和服務是以進程(Process)的形態出現並保存在系統的記憶體當中的。然而,隨著 Web 技術的發展,瀏覽器功能日益強大,現在大多數人會發現,使用電腦不再需要安裝各種各樣的軟件,很多工作在瀏覽器中就能完成。Chrome 支持各種各樣的插件和擴展,為瀏覽器增添功能,其中很多插件和擴展乾脆就已經是一個打包好可以在本地使用的軟體。

過多的軟件、功能和服務勢必意味著瀏覽器的體型會變得臃腫,而如果一個瀏覽器只是一個進程的話,一旦出現系統故障,整個瀏覽器就崩潰了——那意味著你瀏覽的所有內容、輸入的文本和打開的軟件、觀看的視影片、在網頁上玩的小遊戲,全都沒了。而 Chrome 會把所有打開的網頁標籤、插件、擴展,以及播放的 Flash 視頻都拆成獨立的進程。這樣,一個進程崩潰,不會影響到瀏覽器的其他功能正常運轉。

這樣做的優勢是瀏覽器功能多,且快速穩定;劣勢就是佔用很多記憶體。

Chrome4

  • 2. 在你沒點擊 URL 之前,Chrome 已經在幫你加載了

更好的用戶體驗與更大的系統資源壓力就像是雙生子。Chrome 瀏覽器提供一個預加載功能(Chrome Prerendering),在用戶還沒有點擊某個鏈接的時候就已經提前開始加載了。

比如,如果瀏覽的是部落格文章,Chrome 有可能會預先加載「下一篇文章」;再比如,如果你在 Google 上搜索某個學術名詞的話,Chrome 有可能會預先加載來自維基百科的結果

有時候你會發覺,第一次登陸某個網頁的時候很慢,但後來再在地址欄輸入訪問,會快很多。這是因為 Chrome 會基於歷史瀏覽記錄和對該網頁的安全性判斷,預先加載這個網頁。

  • 3. 記憶體漏失

記憶體漏失 是一個技術上的名詞,簡單來說,他的意思就是佔用記憶體的軟體或服務,在完成工作之後無法釋放那些不再使用的記憶體。歷史上有一些非常經典的記憶體漏失事故,比如在某個版本的 Mac OS X 操作系統上,以原生、快速和低記憶體著稱的 Safari 瀏覽器,竟然能把本機所有的記憶體全都佔掉,以至於其他程序無法正常工作,甚至系統都開始不穩定。

Chrome 瀏覽器也會出現記憶體漏失問題,不過現在瀏覽器本身已經比較穩定了。不穩定的地方在於部分樣式或功能複雜的網站,以及一些代碼不乾淨的 Chrome 插件和擴展。前幾天,一位 Android Chrome 工程師在 Reddit 上表示,有團隊正在積極研究如何解決桌面版 Chrome 的擴展和插件記憶體漏失問題。

>>>> 延伸閱讀:狂吃、狂吃、狂吃!Chrome 團隊:好啦我們真的吃很多資源

  • 4. 開了太多標籤和插件

前面提到,很多以擴展形式存在的 Chrome 本地應用功能也已經十分強大,Web 技術日新月異使得很多網站在瀏覽器中呈現所佔用的記憶體也已經不亞於一個普通的本地軟體。這個不用過多解釋。

  • Chrome 佔記憶體到底​​好不好?

你需要記住一句話:空閒的記憶體是沒用的。(free RAM is useless RAM)

記憶體的功能是在本地一個高速短期存儲空間內放置進程,從而在使用或未使用但需要喚醒的時候更快地加載出來。因此,短期的高記憶體佔用並不是壞事,它優化了使用體驗——可以說,記憶體存在的意義就是被佔用。

但長期高記憶體佔用就不是好事了。長期高記憶體佔用可能和前面提到的網頁 / 插件 / 擴展記憶體漏失問題有關,也有可能由用戶不良使用習慣導致。過多記憶體被佔用會導致提供給其他軟體或服務的記憶體資源不足,導致系統不穩定。另外,絕大多數操作系統都有虛擬記憶體功能,也就是在硬碟上設立一塊空間當做記憶體。這是記憶體不足時的替代方案,顯然對硬碟的讀取速度要比對記憶體的讀取速度慢得多。

  • 怎樣解放 Chrome 記憶體?

1. 查看任務 / 進程管理器,關掉佔用大量記憶體的進程

在 Windows Chrome 上按 Shift+Esc,或者在 Mac 上點擊視窗→工作管理員,喚醒 Chrome 自己的任務管理器。用這種方法,你可以關閉那些沒有使用但是依然在後台佔用太多記憶體的標籤或程序。

Monitor-your-browser-with-Task-Manager

2. 卸載不需要的擴展和插件

3. 保持 Flash 影片播放插件不自動播放

點擊設定→進階設定→隱私設定→內容設定,選擇自行選擇執行外掛程式時機。

plugin-chrome

4. 用工具來管理閒置的標籤

前兩天我們剛剛介紹過的 The Great Suspender 就是這樣一個優秀的工具。它可以根據設置自動休眠掉當前不使用的標籤,節省系統資源。

  • 延伸閱讀

沒想到我會有怨恨 Chrome 的一天,它根本 IE 接班人(中槍)

(本文轉載自合作夥伴《Pingwest》;未經授權,不得轉載)

點關鍵字看更多相關文章: