為什麼 Chrome 這麼會吃記憶體?

為什麼 Chrome 這麼會吃記憶體?

ADVERTISEMENT

Chrome是普及率最高的瀏覽器,除了擁有速度快的優勢,又有Google的品質保證,難怪大家趨之若鶩。不過Chrome卻有非常吃記憶體的現象,剛開始還沒有任何徵狀,直到硬碟狂轉加上效能低落,才驚覺Chrome已經霸佔了記憶體資源。Chrome為何這麼耗記憶體?我們又該怎麼因應呢?

高速瀏覽的代價是耗費記憶體

為什麼 Chrome 這麼會吃記憶體?

▲Chrome將記憶體吃掉的示意圖。

早期的瀏覽器只需處理文字與圖片,隨著網路環境的多樣化,瀏覽器的結構漸趨複雜,已經超過我們想像的程度。現在的瀏覽器得額外負擔以下任務:撥放音訊與視訊、下載續傳管理、讀取PDF文件檔,執行Flash以與其他網路程式,簡直就是包山包海,比某島國的責任制員工還要辛苦。

Chrome的原則很單純:每個分頁、插件與擴張套件都有獨立的運算行程,就算任何一個行程停止回應(如Flash),也不影響其他行程的運作,對整體的穩定性很有幫助。相對地,Chrome耗費的運算資源較高,記憶體使用率更是凌駕於其他瀏覽器。平時還無所謂,一旦同時執行耗費記憶體的應用程式,下場可想而知。

為什麼 Chrome 這麼會吃記憶體?

▲Chrome的記憶體使用量破200MB。

Chrome以高速瀏覽為號召,採用許多手段提升瀏覽效率,像是預先載入功能(Chrome Prerendering)之類,這些功能都得耗費大量記憶體。更傷腦筋的是,就算將耗費資源的對應分頁關閉,Chrome也不一定會立刻釋放其佔用的記憶體,導致Chrome的記憶體消費如同滾雪球般越滾越大。

使用者想必對此十分不滿,認為Chrome根本就是在找麻煩。然而換個角度思考,Chrome惹人非議的癥結,在於記憶體的使用沒有拿捏得很精準。為了提供迅速便捷的瀏覽環境,免除無謂的等候與讀取,Chrome不得不耗費較高的記憶體,這也是沒辦法的事。

避免讓記憶體塞爆

為什麼 Chrome 這麼會吃記憶體?

▲Chrome小精靈將豆子記憶體吃下肚。

當使用者檢視Chrome的行程管理員,想必會被其內容給嚇一大跳,Chrome的記憶體使用量居然如此龐大!我們得先了解一個事實:閒置的記憶體等於無用的記憶體。我們可以將記憶體視為一個大型倉貯,裡面的內容無法永久保存,得將內容反覆存入與釋放來維持運作。若電腦不需要太多內容,記憶體便會將其釋放,騰出空間給之後的行程使用。

只要沒把記憶體塞爆,記憶體使用量大並非壞事。真正的壞事是讓記憶體經常處於塞爆的狀態,電腦得在有限的記憶體空間內存入與釋放,無法妥善運用記憶體資源,進而拖累系統效能。當使用者發現狀況不對時通常為時已晚,就算立刻關閉占用記憶體的分頁或程式,電腦效能低落的狀況也無法立刻改善。

為什麼 Chrome 這麼會吃記憶體?

▲要駕馭Chrome得費一番工夫。

換言之,我們不須苛責Chrome耗費記憶體,他只是在盡自己的本分。若陷入記憶體塞爆的窘境,除了檢討Chrome,也該檢視其他的可能性,如記憶體真的太少,或是瀏覽器使用習慣不佳等等。

(下一頁還有:如何抑制Chrome的記憶體消費)

vermilion
作者

雖然人們對我嗤之以鼻,但當我望著箱中錢財時,內心仍暗自竊喜 -古羅馬名諺

使用 Facebook 留言

orange
1人給推

1.  orange (發表於 2015年8月14日 18:31)
> Chrome的記憶體使用量破200MB。
這張圖也太大驚小怪了,現在的瀏覽器吃的都是幾百MB的規模
Chrome的問題點在依照分頁數幾百MB直接乘上去
很容易破GB
Haza
1人給推

2.  Haza (發表於 2015年8月14日 22:06)
明明就是現今網頁該死的廣告太多,你要不要看一看adblock光是這網頁就擋下幾個廣告?
ulyssesric
1人給推

3.  ulyssesric (發表於 2015年8月15日 11:38)
※ 引述《Haza》的留言:
> 明明就是現今網頁該死的廣告太多,你要不要看一看adblock光是這網頁就擋下幾個廣告?

Adblocker 已經有點變質了。
我現在都用 JS blocker 自己調整。
李仁維
1人給推

6.  李仁維 (發表於 2015年8月18日 12:24)
※ 引述《ulyssesric》的留言:
> ※ 引述《Haza》的留言:
> > 明明就是現今網頁該死的廣告太多,你要不要看一看adblock光是這網頁就擋下幾個廣告?
>
> Adblocker 已經有點變質了。
> 我現在都用 JS blocker 自己調整。

想請問Adblocker變質的意思?

發表回應

謹慎發言,尊重彼此。按此展開留言規則