忘记密码   免费注册 查看新帖 | 论坛精华区

ChinaUnix.net

  平台 论坛 博客 认证专区 大话IT HPC论坛 徽章 文库 沙龙 自测 下载 频道自动化运维 虚拟化 储存备份 C/C++ PHP MySQL 嵌入式 Linux系统
最近访问板块 发新帖
查看: 761 | 回复: 5

[中断] events/1占cpu 99%问题 [复制链接]

论坛徽章:
0
发表于 2017-03-10 15:31 |显示全部楼层
测试平台如下:
powerpc系统,双核,内核版本:2.6.34.12

测试过程中出现events/1耗cpu达99%的情况,并且系统不可恢复,top结果如下:
自己的驱动代码中没有调用schedule_work或schedule_delayed_work。
  1. top - 09:37:33 up  1:03,  2 users,  load average: 14.18, 8.01, 4.84
  2. Tasks: 169 total,  10 running, 159 sleeping,   0 stopped,   0 zombie
  3. Cpu(s):  4.7%us,  5.3%sy,  0.0%ni, 90.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
  4. Mem:    887616k total,   854428k used,    33188k free,     2208k buffers
  5. Swap:        0k total,        0k used,        0k free,   133252k cached

  6.   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND            
  7.    32 root      -2 -20     0    0    0 R  101  0.0   2:52.76 events/1           
  8.   917 root     -91   0  2828 1104  844 R    4  0.1   0:00.03 top               
  9.   493 root      20   0  584m  42m 1748 R    2  4.9   1:30.76 1_l2_sec-recv      
  10.     1 root      20   0  4032  804  716 S    0  0.1   0:02.97 init               
  11.     2 root      20   0     0    0    0 S    0  0.0   0:00.00 kthreadd           
  12.     3 root      RT   0     0    0    0 S    0  0.0   0:00.00 migration/0        
  13.     4 root     -50   0     0    0    0 S    0  0.0   0:00.00 sirq-high/0        
  14.     5 root     -50   0     0    0    0 R    0  0.0   0:02.35 sirq-timer/0      
  15.     6 root     -50   0     0    0    0 S    0  0.0   0:00.00 sirq-net-tx/0      
  16.     7 root     -50   0     0    0    0 S    0  0.0   0:02.35 sirq-net-rx/0      
  17.     8 root     -50   0     0    0    0 S    0  0.0   0:00.00 sirq-block/0      
  18.     9 root     -50   0     0    0    0 S    0  0.0   0:00.00 sirq-block-iopo   
  19.    10 root     -50   0     0    0    0 S    0  0.0   0:00.00 sirq-tasklet/0     
  20.    11 root     -50   0     0    0    0 S    0  0.0   0:00.00 sirq-sched/0      
  21.    12 root     -50   0     0    0    0 S    0  0.0   0:00.00 sirq-hrtimer/0     
  22.    13 root     -50   0     0    0    0 R    0  0.0   0:03.07 sirq-rcu/0         
  23.    14 root      RT   0     0    0    0 S    0  0.0   0:00.00 posixcputmr/0      
  24.    15 root      RT   0     0    0    0 S    0  0.0   0:00.00 watchdog/0         
  25.    16 root      10 -10     0    0    0 S    0  0.0   0:00.00 desched/0         
  26.    17 root      RT   0     0    0    0 S    0  0.0   0:00.00 migration/1        
  27.    18 root      RT   0     0    0    0 S    0  0.0   0:00.00 posixcputmr/1      
  28.    19 root     -50   0     0    0    0 S    0  0.0   0:00.00 sirq-high/1        
  29.    20 root     -50   0     0    0    0 R    0  0.0   0:06.78 sirq-timer/1      
  30.    21 root     -50   0     0    0    0 S    0  0.0   0:00.02 sirq-net-tx/1      
  31.    22 root     -50   0     0    0    0 S    0  0.0   0:00.20 sirq-net-rx/1      
  32.    23 root     -50   0     0    0    0 S    0  0.0   0:00.00 sirq-block/1      
  33.    24 root     -50   0     0    0    0 S    0  0.0   0:00.00 sirq-block-iopo   
  34.    25 root     -50   0     0    0    0 S    0  0.0   0:00.01 sirq-tasklet/1     
  35.    26 root     -50   0     0    0    0 S    0  0.0   0:00.00 sirq-sched/1      
  36.    27 root     -50   0     0    0    0 R    0  0.0   0:28.36 sirq-hrtimer/1     
  37.    28 root     -50   0     0    0    0 R    0  0.0   0:07.86 sirq-rcu/1         
  38.    29 root      RT   0     0    0    0 S    0  0.0   0:00.00 watchdog/1         
  39.    30 root      10 -10     0    0    0 S    0  0.0   0:00.00 desched/1         
  40.    31 root      -2 -20     0    0    0 S    0  0.0   0:00.15 events/0
复制代码

请教下大神,这种问题应该如何定位?


论坛徽章:
9
程序设计版块每日发帖之星
日期:2016-02-13 06:20:00数据库技术版块每日发帖之星
日期:2016-06-15 06:20:00数据库技术版块每日发帖之星
日期:2016-06-16 06:20:00数据库技术版块每日发帖之星
日期:2016-06-18 06:20:00程序设计版块每日发帖之星
日期:2016-06-27 06:20:00程序设计版块每日发帖之星
日期:2016-07-09 06:20:00IT运维版块每日发帖之星
日期:2016-07-15 06:20:00IT运维版块每日发帖之星
日期:2016-07-27 06:20:00程序设计版块每日发帖之星
日期:2016-08-18 06:20:00
发表于 2017-03-14 16:02 |显示全部楼层
sysrq**好
sysrq**好

论坛徽章:
0
发表于 2017-03-15 13:40 |显示全部楼层

什么意思?

论坛徽章:
9
程序设计版块每日发帖之星
日期:2016-02-13 06:20:00数据库技术版块每日发帖之星
日期:2016-06-15 06:20:00数据库技术版块每日发帖之星
日期:2016-06-16 06:20:00数据库技术版块每日发帖之星
日期:2016-06-18 06:20:00程序设计版块每日发帖之星
日期:2016-06-27 06:20:00程序设计版块每日发帖之星
日期:2016-07-09 06:20:00IT运维版块每日发帖之星
日期:2016-07-15 06:20:00IT运维版块每日发帖之星
日期:2016-07-27 06:20:00程序设计版块每日发帖之星
日期:2016-08-18 06:20:00
发表于 2017-03-15 14:38 |显示全部楼层

用 sysrq键
本来写的是 sysrq dafa好, CU给改成sysrq**了

论坛徽章:
0
发表于 2017-03-27 12:51 |显示全部楼层
为啥要这么复杂,直接perf record -p pid xxx 看就行呢。

论坛徽章:
0
发表于 2017-06-16 10:15 |显示全部楼层
本帖最后由 tqyou85 于 2017-06-16 10:17 编辑

Linux kernelworkqueue提供了一个统计的机制(可以辅助定位)
打开Kernelhacking -> Tracing -> Trace workqueue的开关即可,具体代码在trace_workqueue.c中。

统计信息通过debugfs来保存。

1.  mount -tdebugfs none /mnt/
2.  cat/mnt/tracing/trace_stat/workqueues可查看统计信息
  1. [fly]# CPU  INSERTED  EXECUTED   NAME
  2. # |      |         |          |
  3.   0    411        411       events/0
  4.   0     11         11       khelper
  5.   0      0          0       kblockd/0
  6.   0      0          0       rpciod/0
  7.   0      0          0       aio/0
  8.   0      0          0       nfsiod
  9.   0      0          0       crypto/0
  10.   0   6593       6593       ff707000.spi
  11.   1    756        756       events/1
  12.   1      0          0       kblockd/1
  13.   1      0          0       rpciod/1
  14.   1      0          0       aio/1
  15.   1      0          0       crypto/1[/fly]
复制代码


您需要登录后才可以回帖 登录 | 注册

本版积分规则

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号 北京市公安局海淀分局网监中心备案编号:11010802020122
广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员  联系我们:
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP