服务器cpu占用100%,如何排查
生产环境服务器出现cpu占用100%,如何排查?本文从linux和windows给出排查思路。 大致流程是找出进程的pid-找到进程下占用资源最大的线程-打印出进程快照 linux: 1.top -c找到占用cpu较高的进程,获取到[pid] 2.top -Hp [pid],查看该进程对应的线程,找到线程中占用cpu较高的线程id(tid) 3.jstack -l [pid] > /path/[pid].stack,打印出进程此时的快照 4.vi [pid].stack或者cat [pid].stack|grep '[tid]的16进制' -C 8,查看该线程在cpu占用100%时做了什么 windows: 1.在任务管理中找到占用cpu较高的进程,获取[pid] 2.使用Process Explorer获取该[pid]对应的线程,找到占用资源较高的线程id(tid) 3.cmd窗口中输入jstack -l [pid] > /path/[pid].txt 4.打开文件[pid].txt,查找[tid]的16进制所在的行,查看具体信息 来源: https://www.cnblogs.com/jinziguang/p/11713380.html