记一次解决谷歌浏览器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, 它也可能引发大问题

相关文章
相关标签/搜索