記一次解決谷歌瀏覽器Google Chrome Helper佔用太高cpu問題

閱讀原文html

1. 問題現象

有時候發現mac風扇響的厲害,因而我檢查了mac系統的活動監視器,發現Google Chrome Helper佔用99%的CPU。git

一般來講Chrome若是佔用太高的內存,這並非什麼問題,畢竟Chrome的性能以及易用性是創建在佔用不少內存的基礎上的。可是不管什麼程序,持續的佔用超過80%的cpu,都是極不正常的。大多數程序都是佔用維持在低於10%的CPU。github

活動監視器指出問題出如今Chrome瀏覽器。那麼問題能夠再次細分爲三塊。chrome

  1. Chrome系統自身問題
  2. 一些插件,例如flash插件,擴展插件
  3. 網頁程序js出現的問題

2. 從任務管理器着手

其實Chrome瀏覽器自身也是有任務管理器的,通常來講windows版chrome按住shift+esc就會調出任務管理器窗口。mac版調出任務管理器沒有快捷,只能經過Window > Task Manager調出。windows

調出任務管理器後,發現一個標籤頁,CPU佔用率達到99%, 那就說明,應該是這個標籤頁中存在持續佔用大量CPU計算的程序。瀏覽器

最後找到這個頁面,發現該頁面背景圖是一種動態粒子圖。就是基於particles.js作的。我想,終於找到你了。網絡

因而我把這個動態圖的相關js代碼給註釋掉,電腦的風扇也終於變得安靜了。性能

3. 問題總結

問題解決的總結:解決問題的方法時很簡單的,基於一個現象,找到一個緣由,基於這個緣由再找到一個現象,而後一步一步縮小問題範圍,逼近最終緣由。google

機器CPU太高,通常都是能夠從任務管理器着手解決。系統的任務管理器能夠監控各個程序佔用的CPU是否正常,一般程序自身也是有任務管理的。spa

像谷歌瀏覽器這種軟件,幾乎自己就是一個操做系統,因此說它的任務管理器也是必不可少的。Chrome瀏覽器再帶的任務管理器能夠告訴你幾個關鍵信息。

  • 任務佔用的內存
  • 任務佔用的CPU
  • 任務佔用的網絡流量大小

若是你一打開谷歌瀏覽器,你的電腦風扇就拼命轉,那你最好打開谷歌瀏覽器的任務管理器看看。

4. 關於動態背景圖的思考

動態背景圖每每都會給人很酷炫的感受,可是這種背景圖的製做並非很複雜,若是你使用particles.js來製做,製做一些動態背景圖只須要幾行代碼就能夠搞定。可是這種酷炫的背後,CPU也在承受着壓力。

particles.js提供的demo效果圖,在Chrome中CPU會被提升到100%。

也有幾家使用動態背景圖的官網。我記得知乎之前就用過動態背景圖,可是如今找不到了。另一個使用動態背景圖的是daocloud, CPU也是會在首頁飆升到50%。

所謂:強招必自損,動態背景圖在給人以炫酷科技感的同時,也須要權衡這種技術對客戶計算機的壓力。

另外,不要小看JavaScript, 它也可能引發大問題

相關文章
相關標籤/搜索