1、jps
jps命令:返回当前系统中的Java的进程号
-l:返回Java进程全路径
-q:仅显示进程ID
-v:返回JVM参数,比如堆大小,此命令方便我们查看JVM大小,不用去找配置文件
2、jstat
JVM内存不够用、内存溢出是通过监控JVM Heap信息进行分析的,jstat可以用来查看JVM堆的统计信息,命令格式如下:
jstat 选项 进程号,例如:jstat -gc 11048(查看11048进程号的垃圾回收情况)
class:用于查看类加载情况的统计
compiler:用于查看HotSpot中即时编译器编译情况的统计
gc:用于查看JVM中堆的垃圾收集情况的统计
gccapacity:用于查看新生代、老生代及持久代的存储容量情况
gccause:最好一次及当前正在发生垃圾收集的原因
gcnew:用于查看新生代垃圾收集的情况
gcnewcapacity:用于查看新生代的存储容量情况
guold:用于查看老生代及持久代发生GC的情况
gcoldcapacity:用于查看老生代的容量
gcpermcapacity:用于查看持久带的容量
Printcompilation HotSpot:编译方法的统计
gcutil:GC统计
Full gc(old代发生gc)会暂停用户响应,也就是不处理用户请求,等待Full gc完成后响应用户请求,这个等待时间过大就会影响用户体验,所以Full gc是JVM调优的重点。