Java程序占用CPU过高如何排查

  1. top
    top命令找到占用cpu最高的java进程(1个或者多个),得到pid
  2. top -Hp ***(*是第一步查出来的进程pid)
    进一步得到上面进程中占用最高的线程pid,然后转为16进制,第四步可以用来定位到出问题的线程
  3. jstack *** > thread_stack.log(*是第一步查出来的线程pid)
    jstack命令将第一步找到的java进程的线程栈保存到文件thread_stack.log
  4. thread_stack.log文件中查找第二步得到的16进制码,找到问题线程
posted @ 2024-03-13 16:02  大恶般若  阅读(40)  评论(0编辑  收藏  举报