项目上线后运行一段时间,突然发现cpu 8个逻辑核心都占用100%,心情很紧张,然后就在网上找了一些解决方法,具体如下: 
       1.查找哪些进程在耗cpu  
       进入服务器,top 命令看一下,发现进程6633占用了800% 
       [[email protected] ~]# top 
       2.把进程的栈dump到文件里,以便后面的分析
       [[email protected] ~]# jstack 6633 > cpu1128.log 
       3.看看这个进程里面哪些线程在占用cpu 
       [[email protected] ~]# top -p 6633 -H 
       一大片占用cpu很高的线程,选一个最高的吧,PID=5159 
       4.接着要看刚才dump出来的cpu日志了,里面会有6633这个进程下面每个线程的栈信息,但是是十六进制显示的,所以先把5159转换成16进制 
       [[email protected] ~]# printf %0x 5159 
       [[email protected] ~]# 1427 
       5.在cpu日志里找PID=1427的线程 

       [[email protected] ~]# vi cpu1128.log

  Linux查看进程cpu占用情况         6.分析原因

相关文章: