CPU占用过高的定位分析
结合JDK和Linux命令来看
1.在linux环境中使用top命令找到使用CPU的线程
top
2.使用ps -ef或者jps进一步定位,得知后台程序给我们惹了什么样的麻烦
ps -ef|grep java|grep -v grep
jps -l
3.定位到具体线程和代码
ps -mp 进程ID -o THREAD,tid,time :哪一个线程耗费了多少时间
4.将需要的线程ID转化为16进制格式(英文格式小写)
print“%x\n” 有问题的线程ID
jstack 进程ID | grep tid(16进制线程ID的英文小写)- A60