Linux CPU占比高的分析方法

基本思路

  1. top: 查看到CPU占比高的进程号pid;
  2. top -H -p $pid: 查看进程内各个线程占用的CPU百分比,找到CPU占比高的线程ID;
  3. gstack $pid > gstack.log: 找到线程ID对应线程号;
  4. gcore $pid: 使用gcore命令转存进程映像及内存上下文,生成core文件;
  5. strace -T -r -c -p $pid 或 strace -o output.txt -T -tt -e trace=all -p $pid:用strace命令查看系统调用和花费的时间;
  6. gdb: 然后用gdb调试对应的线程;

测试代码

参考

  1. http://m.blog.csdn.net/article/details?id=47830579