一、如何进行JVM调优
二、掌握三个基本工具:jps、jinfo和jstat
命令: jps -m
如果启动的是jar,则会将jar的完整类名信息展示出来
如果启动的时候带有参数,还会将启动时的参数打印出来
命令:jps -l
展示主类的完整类包
命令:jstat -gc pid
表头?? ?含义(字节)
S0C?? ?S 0 区的大小
S1C?? ?S 1 区的大小
S0U?? ?S 0 区已使用的大小
S1U?? ?S 1 区已使用的大小
EC?? ?Eden 区的大小
EU?? ?Eden 区已使用的大小
OC?? ?老年代的大小
OU?? ?老年代已使用的大小
MC?? ?元空间的大小
MU?? ?元空间已使用的大小
CCSC?? ?压缩类空间的大小
CCSU?? ?压缩类空间已使用的大小
YGC?? ?从应用程序启动到采样时 Young GC 的次数
YGCT?? ?从应用程序启动到采样时 Young GC 消耗时间(秒)
FGC?? ?从应用程序启动到采样时 Full GC 的次数
FGCT?? ?从应用程序启动到采样时的 Full GC 的消耗时间(秒)
GCT?? ?从应用程序启动到采样时 GC 的总时间
三、jstack命令与快速定位死锁线程
命令:jstack pid
四、堆分析的基本功-jmap和jhat工具
命令:jmap -histo pid
命令:jmap -dump:live,format=b,file=test.hprof 45094
分析堆内存dump文件,工具很多,jhat只是其一
命令:jhat test.hprof
五、如何利用Jconsole和VisualVM来监控程序的执行信息
1.jconsole
(1)、命令: jconsole
(2)选择指定的进程
(3)、选择不安全的连接
(4)、进入jconsole
2.jvisualvm
(1)、命令:jvisualvm
(2)、进入jvisualvm
六、梳理JVM参数与如何手动获取JVM参数