JVM命令
设置命令
-Xms 设置堆的最小空间大小
-XX:NewSize 设置新生代最小空间大小
-XX:MaxNewSize 设置新生代最大空间大小
-XX:PermSize 设置永久代最小空间大小
-XX:MaxPermSize 设置永久代最大空间大小
-Xss 设置每个线程的堆栈大小
Jstat
收集Hotspot虚拟机各方面运行数据
包括了对Heapsize和垃圾
jstat -gcutil pid 1000
[☛ 重点:] fullgc的次数和时长
Jmap
用于生成虚拟机的内存快照信息
jmap -heap pid 显示Java堆详细信息
jmap -histo:live pid 这个命令执行,JVM会先触发gc,然后再统计信息。
Jps
显示系统中所有Hotspot虚拟机进程
Jstack
显示虚拟机的线程栈信息
jstack pid: 查看线程情况
jstack -l 8564 > 8564.stack 导出堆栈信息
JVM调优之jstack找出发生死锁的线程
1 找出线程PID
ps -ef|grep msg
2 找出进程消耗cpu最大的线程
top -Hp 21733
3 执行 jstack -l 21733 | more
保留现场信息
保留快照文件
Eclipse memory analyazer 工具可以分析快照
Jinfo
显示虚拟机的配置信息