进程的内核CPU占用高

Iris_Zhou 2013-07-29 03:23:41
执行某个程序,该程序主要是执行一些诸如open(),ioctl()的系统调用,并且大部分的时间应该是在执行ioctl()时陷入内核进行相关的数据处理。
现在发现执行该程序时,用top命令查看,CPU %sys可以达到80%多,也就是CPU大部分时间都运行在内核态,并且占用CPU很厉害,能不能有办法知道比如我ioctl系统调用下去,到底是执行哪些代码导致内核CPU占用高?
...全文
756 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
如果确定是内核的话,那就看源码吧
cuirqiang 2013-08-04
  • 打赏
  • 举报
回复
可以用iostat 5,这条命令看下是不是有大量的读写操作而导致的CPU使用率高。
qq120848369 2013-07-30
  • 打赏
  • 举报
回复
内存分配,磁盘读写,都会造成内核态搞
Iris_Zhou 2013-07-30
  • 打赏
  • 举报
回复
引用 2 楼 Idle_Cloud 的回复:
你确定那么高是内核,而不是你的程序?
额,是我的程序CPU占用高,只不过CPU占用更多体现在内核占用高,现象就是用top命令查看,显示我的程序CPU占用是80%,而CPU那一栏,%sy那一项也是80%,因为该程序主要的执行时在内核。
Carl_CCC 2013-07-29
  • 打赏
  • 举报
回复
你确定那么高是内核,而不是你的程序?
空的 2013-07-29
  • 打赏
  • 举报
回复
strace + top ? 没搞过这个,坐等大湿

4,436

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧