jps -l
查看当前系统里面的所有JVM进程
jconsole
一个图形化控制台,可以查看JVM内存使用情况,排查死锁
jmap -heap 123456
查看进程号是123456的JVM进程的堆内存使用情况,包括:新生代(伊甸园区、幸存者0区、幸存者1区)、老年代内存使用情况,还可以查看JVM配置信息
jstack -l 123456
查看与锁有关的信息,可以排查死锁
jstat -gc 123456
查看进程号是123456的JVM进程,当前堆内 伊甸园区、幸存者0区、幸存者1区、老年代的 已使用内存 和总内存
排查CPU使用率高的方法?
- 使用
top
命令,查出占用CPU高的进程号
- 然后使用
top -H -p <进程号>
,查出此进程里面所有的线程号,找出那个CPU占用最高的线程号 jstack 线程号 > stack.log
,打印栈信息- 将
线程号
转为16进制,在stack.log
日志中找到,排查问题