码迷,mamicode.com
首页 > 系统相关 > 详细

利用top命令和pstack排查linux进程CPU使用率过高的问题

时间:2020-07-30 14:38:47      阅读:111      评论:0      收藏:0      [点我收藏+]

标签:_id   size   http   span   line   lazy   逻辑   输出   style   

pstack 命令
Linux 系统中可以通过 pstack 命令查看一个进程的线程数量和每个线程的调用堆栈情况,用法为 pstack process_id
首先我们可以用top命令查看是哪个进程CPU使用率过高。
例如在我的linux服务器上
技术图片

 

   我们可以看到thread_create_c进程对CPU的占用率达到100%

   接着我们使用pstack命令观察一下该进程下所有线程的堆栈调用情况。

技术图片

 

   在 pstack 输出的各个线程中,只要逐一对照我们的程序源码来梳理下该线程中是否有大多数时间都处于空转的逻辑,然后修改和优化这些逻辑就可以解决 CPU 使用率过高的问题了。

   在这里,我贴出thread_create_c进程对应的程序的源码。

   技术图片

 

 

 

 

 

利用top命令和pstack排查linux进程CPU使用率过高的问题

标签:_id   size   http   span   line   lazy   逻辑   输出   style   

原文地址:https://www.cnblogs.com/ydqblogs/p/13403094.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!