阅读:1841回复:10
当fx很卡的时候应该怎么定位原因
刚才进系统,打开fx后,逛了cnbeta后, 浏览器开始卡,就是感觉cpu100%导致浏览器没有cpu资源的样子,滚动一点也不平滑, 不论操作浏览器里的任何东西都响应比较慢,连开百度也是。
于是我重启fx,强制打开gpu加速跟OMTC。 然后照样。 实际上vmstat一看, firefox根本没有到多少cpu,大概也就0~2%吧。 本来想reset profile的。想想先把缓存跟历史记录什么的清理先。 然后就不卡了。 我奇怪的是,磁盘缓存什么的我都是没碰,浏览器默认,貌似是350M。 硬盘是intel SSD,内存16G,cpu 8 core,应该都不是原因。 终端提示这个(应该有关系)。。 *** BUG *** In pixman_region32_init_rect: Invalid rectangle passed Set a breakpoint on '_pixman_log_error' to debug *** BUG *** In pixman_region32_init_rect: Invalid rectangle passed Set a breakpoint on '_pixman_log_error' to debug *** BUG *** In pixman_region32_init_rect: Invalid rectangle passed Set a breakpoint on '_pixman_log_error' to debug *** BUG *** In pixman_region32_init_rect: Invalid rectangle passed Set a breakpoint on '_pixman_log_error' to debug *** BUG *** In pixman_region32_init_rect: Invalid rectangle passed Set a breakpoint on '_pixman_log_error' to debug |
|
|
1楼#
发布于:2015-01-05 22:51
桌面系统是linux?什么环境?GNOME2/3、Ubuntu Unity还是KDE之类的?系统缓存是怎么设置的?cnbeta这种网站应该没有什么特殊的。根据你的描述,感觉问题最大可能出在磁盘I/O有异常。
养成良好的浏览习惯,定期或在每次退出firefox时清理历史记录基本上就不会有这种缓存导致的异常。缺省状态下firefox自动管理的缓存上限似乎不是350MB,这个350MB应该是在选择了“无视缓存自动管理”的选项后,系统才会自动设置的“默认值”。 如果长期不清理,打开firefox后,从浏览器本身到系统都要处理这些越来越大的历史数据,如果此时系统本身又处在查询、安装更新或软件包数据库的阶段,就有可能在特定的时间段产生巨量的磁盘I/O。如果系统再没有正确设置系统缓存,或者安装的linux桌面环境本身有bug的话,在浏览器上感觉到明显的卡顿是完全有可能的。 这次你的错误环境应该已经没有了,下次如果再碰到这种性能方面的异常,直接把top命令的输出在一分钟左右的时间内抓屏4、5次,应该不难看出大概的原因--至少可以看到明确的现象。 至于你在终端看到的那些信息,似乎适合GTK3相关的一些报错,linux下的firefox的确会用到GTK3的库。所以也不排除是碰到了firefox在linux下的bug。bug往往都是多个因素一起作用才会表现出来的,这和我前面说的那些并不矛盾。 |
|
|
2楼#
发布于:2015-01-05 23:14
firefox 31.2 archlinux, awesome, fx缓存默认(没有去设置固定值,无视缓存自动管理没有勾,那个350M是我看到灰色的), 操作系统没有交换分区, 性能数据用vmstat看过了(出问题的时候看的),没有iowait(最多也就8)。 不可能是io问题。
cpu也看过了,没有超过5%, 忘了看内存使用率。 fx大概用了3个月没有清理过任何缓存。 清理缓存后有重启过一次系统。 |
|
|
3楼#
发布于:2015-01-05 23:20
现在开了很多网页,试了很多次,也没出现。。。当时系统dmesg没有异常。估计不太是硬件问题。 只能怀疑mesa这个图形库的bug了。。。
|
|
|
4楼#
发布于:2015-01-05 23:26
|
|
5楼#
发布于:2015-01-05 23:37
|
|
|
6楼#
发布于:2015-01-05 23:46
给你个建议,虽然你的内存很大,但最好还是设个swap,1-2GB即可,而且可以不放在SSD上。很多人对swap的认识的一个大误区就是设了swap会因为产生磁盘I/O影响系统速度,尤其是在大内存、SSD的机器上,觉得swap会成为瓶颈。其实swap的原理非常复杂,简单的说可以给个值,复杂点儿解释完全可以写一个专题甚至一本书。
另外,arch大概可算是linux发行版中比较激进的一个,最新的软件包测试的人永远是少的,从系统内核到一个功能包都是如此;awesome没有用过不便评论,只是说个实事,用的人相对少,其潜在的bug更不容易被发现。当然因为awesome本身是轻量级的桌面环境,故其bug的总量应该也不会比更复杂的例如unity之类的多。 但是如果你上MDN上看看,应该不难了解mozilla大量的程序员应该是工作在ubuntu环境下的(甚至有专门为ubuntu定制的开发用的虚拟机全套环境),所以在arch相对更新的软件包环境下撞上bug而暂时无解的概率是相当高的。所以我的建议是在linux下如果想要基本稳定地运行firefox,似乎最好选择最新的ubuntu LTS的版本,就因为连大量开发者用的都是这样的环境。linux总体上还是一个只有大概不到2%桌面系统市场份额的小众系统,个人的基本评价是“可用,但小问题多多”。“随大流”永远不会是个太糟的选择。如不同意完全可以直接忽略。 |
|
|
7楼#
发布于:2015-01-06 14:32
升级下pixman看看?
|
|
|
8楼#
发布于:2015-01-06 14:33
|
|
|
9楼#
发布于:2015-01-06 17:56
pixman应该是最新的,升不了级了。。
... 我木有安装gtk3.。。 系统用的还是gtk 2.24 |
|
|
10楼#
发布于:2015-01-06 17:59
root@ArchCC /home/atmouse # pmap -p $(pidof icecat) | grep gtk 00007f8cbecf8000 28K r-x-- /usr/lib/gtk-2.0/2.10.0/immodules/im-xim.so 00007f8cbecff000 2044K ----- /usr/lib/gtk-2.0/2.10.0/immodules/im-xim.so 00007f8cbeefe000 4K r---- /usr/lib/gtk-2.0/2.10.0/immodules/im-xim.so 00007f8cbeeff000 4K rw--- /usr/lib/gtk-2.0/2.10.0/immodules/im-xim.so 00007f8cbf4a8000 172K r-x-- /usr/lib/gtk-2.0/2.10.0/engines/libclearlooks.so 00007f8cbf4d3000 2044K ----- /usr/lib/gtk-2.0/2.10.0/engines/libclearlooks.so 00007f8cbf6d2000 4K r---- /usr/lib/gtk-2.0/2.10.0/engines/libclearlooks.so 00007f8cbf6d3000 4K rw--- /usr/lib/gtk-2.0/2.10.0/engines/libclearlooks.so 00007f8cc4fd8000 4268K r-x-- /usr/lib/libgtk-x11-2.0.so.0.2400.25 00007f8cc5403000 2048K ----- /usr/lib/libgtk-x11-2.0.so.0.2400.25 00007f8cc5603000 28K r---- /usr/lib/libgtk-x11-2.0.so.0.2400.25 00007f8cc560a000 16K rw--- /usr/lib/libgtk-x11-2.0.so.0.2400.25 |
|
|