首先,top找到cpu过高程序:

然后使用命令:
top -p 35967
按大写H,获取如图线程状态:

把线程PID转换成16进制,如
36125转换为8d1d
然后使用命令
jstack 35967
找到8d1d,如图

然后分析程序
附:
java 标准本工具(启动参数)参考:
https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html
查看当前pid的类使用情况,多次执行做对比,可以看出类的垃圾回收情况
jmap -histo pid
jinfo -flag 运行时添加JVM参数,如:jinfo -flag +printGC pid
java -XX:+PrintFlagsFinal –version 查看jinfo所有可设置的jinfo参数
jps -v 查看项目启动参数
jinfo -flags pid 查看项目的参数
网友评论