Linux下分析某个进程CPU占用率高的原因
Linux下分析某个进程CPU占用率高的原因
通过top命令找出消耗资源高的线程id,利用strace命令查看该线程所有系统调用
1.top 查到占用cpu高的进程pid
2.查看该pid的线程:top -H -p 9532
3.查看这个线程所有系统调用:strace -p 10017
不停循环输出Connection timed out,让开发查看问题
追加:
(1)查看某一进程所有的系统调用并输出到文件中
strace -o /home/output.txt -T -tt -e trace=all -p 线程id
(2)查看某个进程中最耗时的线程
步骤1: ps --efL | grep 进程名 | grep -v grep 步骤2: gdb attach 进程id 步骤3: bt
(3)查看某一进程cpu占用比较高的线程
1) top -H -p 进程id ----------查看耗时的线程 2) strace -o /home/output.txt -T -tt -e trace=all -p 线程id ------------查看线程的堆栈,定位耗时的代码位置,将输出结果写入/home/output.txt
一些事情一直在干,说不定以后就结果了呢
本文来自博客园,作者:chenjianwen,转载请注明原文链接:https://www.cnblogs.com/chenjw-note/p/8370679.html