找到占用CPU最高的进程
top //查询进程
找到进程对应线程
top -Hp 14327 //pid(进程)
打印堆栈信息
printf '%x\n' 14328 //获取线程的16进制
jstack 14327(进程号,不是线程id) | grep 37f8 //堆栈线程是16进制,直接过滤需要的线程
直接定位到代码所在的类,以及行号,再去分析代码
常用排查问题命令
查看内存结构,如新生代,老年代,持久代等
jmap -heap 14327
导出java堆的快照,可以用Jconsole等工具分析的日志
jmap -dump:format=b,file=./heap.hprof 14327
资源和性能进行实时命令行监控,堆大小和垃圾回收
jstat -gcutil 14327 10000 3 每个10000毫秒打印一次,打印3次 堆大小情况,垃圾回收
环境变量和虚拟机参数
jinfo 14327
其他命令