atmouse
狐狸大王
狐狸大王
  • UID44114
  • 注册日期2014-01-27
  • 最后登录2017-12-29
  • 发帖数325
  • 经验266枚
  • 威望0点
  • 贡献值122点
  • 好评度19点
阅读:1841回复:10

当fx很卡的时候应该怎么定位原因

楼主#
更多 发布于:2015-01-05 21:56
刚才进系统,打开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
PC-JMK6, asus m5a99x, fx8350, radeonhd7870 x2, iec958/ha/HD600, linux-next, systemd, pacman, mesa, xorg, libinput, modesetting w/ glamor, qtile, icecat,
大道有狐
狐狸大王
狐狸大王
  • UID37815
  • 注册日期2011-11-19
  • 最后登录2021-05-07
  • 发帖数455
  • 经验270枚
  • 威望0点
  • 贡献值156点
  • 好评度33点
  • 社区居民
  • 忠实会员
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往往都是多个因素一起作用才会表现出来的,这和我前面说的那些并不矛盾。
至察不明 Lollipop-->Marshmallow
atmouse
狐狸大王
狐狸大王
  • UID44114
  • 注册日期2014-01-27
  • 最后登录2017-12-29
  • 发帖数325
  • 经验266枚
  • 威望0点
  • 贡献值122点
  • 好评度19点
2楼#
发布于:2015-01-05 23:14
firefox 31.2  archlinux, awesome, fx缓存默认(没有去设置固定值,无视缓存自动管理没有勾,那个350M是我看到灰色的), 操作系统没有交换分区, 性能数据用vmstat看过了(出问题的时候看的),没有iowait(最多也就8)。 不可能是io问题。

cpu也看过了,没有超过5%, 忘了看内存使用率。
fx大概用了3个月没有清理过任何缓存。

清理缓存后有重启过一次系统。
PC-JMK6, asus m5a99x, fx8350, radeonhd7870 x2, iec958/ha/HD600, linux-next, systemd, pacman, mesa, xorg, libinput, modesetting w/ glamor, qtile, icecat,
atmouse
狐狸大王
狐狸大王
  • UID44114
  • 注册日期2014-01-27
  • 最后登录2017-12-29
  • 发帖数325
  • 经验266枚
  • 威望0点
  • 贡献值122点
  • 好评度19点
3楼#
发布于:2015-01-05 23:20
现在开了很多网页,试了很多次,也没出现。。。当时系统dmesg没有异常。估计不太是硬件问题。 只能怀疑mesa这个图形库的bug了。。。
PC-JMK6, asus m5a99x, fx8350, radeonhd7870 x2, iec958/ha/HD600, linux-next, systemd, pacman, mesa, xorg, libinput, modesetting w/ glamor, qtile, icecat,
awsderty
火狐狸
火狐狸
  • UID48006
  • 注册日期2014-11-26
  • 最后登录2017-10-30
  • 发帖数135
  • 经验123枚
  • 威望0点
  • 贡献值60点
  • 好评度3点
  • 社区居民
4楼#
发布于:2015-01-05 23:26
atmouse:现在开了很多网页,试了很多次,也没出现。。。当时系统dmesg没有异常。估计不太是硬件问题。 只能怀疑mesa这个图形库的bug了。。。回到原帖
大大妳的plugin-container很順嗎?我開了好幾個超級頓
atmouse
狐狸大王
狐狸大王
  • UID44114
  • 注册日期2014-01-27
  • 最后登录2017-12-29
  • 发帖数325
  • 经验266枚
  • 威望0点
  • 贡献值122点
  • 好评度19点
5楼#
发布于:2015-01-05 23:37
awsderty:大大妳的plugin-container很順嗎?我開了好幾個超級頓回到原帖
不要叫我大大了。。连个异常都不能定位。。。
我fx没有用plugins, 非要看flash的话,一律用chrome看,chrome稳定多了。
PC-JMK6, asus m5a99x, fx8350, radeonhd7870 x2, iec958/ha/HD600, linux-next, systemd, pacman, mesa, xorg, libinput, modesetting w/ glamor, qtile, icecat,
大道有狐
狐狸大王
狐狸大王
  • UID37815
  • 注册日期2011-11-19
  • 最后登录2021-05-07
  • 发帖数455
  • 经验270枚
  • 威望0点
  • 贡献值156点
  • 好评度33点
  • 社区居民
  • 忠实会员
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%桌面系统市场份额的小众系统,个人的基本评价是“可用,但小问题多多”。“随大流”永远不会是个太糟的选择。如不同意完全可以直接忽略。
至察不明 Lollipop-->Marshmallow
pcxfirefox
千年狐狸
千年狐狸
  • UID39042
  • 注册日期2012-06-22
  • 最后登录2018-01-15
  • 发帖数2539
  • 经验1263枚
  • 威望2点
  • 贡献值242点
  • 好评度133点
  • 最爱沙发
  • 忠实会员
  • 社区居民
7楼#
发布于:2015-01-06 14:32
升级下pixman看看?
http://pcxfirefox.wordpress.com/
pcxfirefox
千年狐狸
千年狐狸
  • UID39042
  • 注册日期2012-06-22
  • 最后登录2018-01-15
  • 发帖数2539
  • 经验1263枚
  • 威望2点
  • 贡献值242点
  • 好评度133点
  • 最爱沙发
  • 忠实会员
  • 社区居民
8楼#
发布于:2015-01-06 14:33
这里也有说的
https://bugzilla.mozilla.org/show_bug.cgi?id=983843

说是升级下gtk3能够解决 说的31.0 其他版本不清楚
http://pcxfirefox.wordpress.com/
atmouse
狐狸大王
狐狸大王
  • UID44114
  • 注册日期2014-01-27
  • 最后登录2017-12-29
  • 发帖数325
  • 经验266枚
  • 威望0点
  • 贡献值122点
  • 好评度19点
9楼#
发布于:2015-01-06 17:56
pixman应该是最新的,升不了级了。。
... 我木有安装gtk3.。。
系统用的还是gtk 2.24
PC-JMK6, asus m5a99x, fx8350, radeonhd7870 x2, iec958/ha/HD600, linux-next, systemd, pacman, mesa, xorg, libinput, modesetting w/ glamor, qtile, icecat,
atmouse
狐狸大王
狐狸大王
  • UID44114
  • 注册日期2014-01-27
  • 最后登录2017-12-29
  • 发帖数325
  • 经验266枚
  • 威望0点
  • 贡献值122点
  • 好评度19点
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
PC-JMK6, asus m5a99x, fx8350, radeonhd7870 x2, iec958/ha/HD600, linux-next, systemd, pacman, mesa, xorg, libinput, modesetting w/ glamor, qtile, icecat,
游客

返回顶部