在一次生产环境中,服务器负载报警,SSH登录上看到CPU占用很高. 1.执行top命令,看到进程号为9737的进程持续占用CPU 2.怀疑是否是进程配置的内存不够了,引发了fullGC导致CPU占用高,执行jmap -heap 9737,看到老年代使用率百分之零,不可能引发fullGC 3.所以应该是程序中的某个线程占用CPU高导致的,使用jstack 9737 > ps.txt导出进程的线程信息,执行top shift+h找到占用cpu最高的线程,果然就是9737进程下的线程! 4.将线程号…