首页 > 系统服务 > 详细

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

时间:2020-07-30 15:20:11      阅读:146      评论:0      收藏:0      [点我收藏+]
pstack 命令
Linux 系统中可以通过 pstack 命令查看一个进程的线程数量和每个线程的调用堆栈情况,用法为 pstack process_id
首先我们可以用top命令查看是哪个进程CPU使用率过高。
例如在我的linux服务器上
技术分享图片

 

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

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

技术分享图片

 

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

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

   技术分享图片

 

 

 

 

 

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

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!