1.查看JVM进程
使用jps命令 jps [options] [hostid]
其中options常用选项有:
-l 打印主类全名,如果是Jar包的,输出jar包路径
-v 打印jvm的启动参数
-m 打印主类main函数接受的参数
-q 只显示虚拟机进程ID
2.jstat
JVM Statistics Monitoring Tool,显示local或remote虚拟机进程中的类加载、内存、垃圾收集、即时编译等运行时数据
命令格式:jstat [option vmid [ interval [s|ms] [count] ]
interval 是查询间隔 s|ms二选一,默认ms.
count 是查询次数
vmid可支持远程进程格式:[protocol:][//]lvmid[@hostname[:port]/serverName]
例:jstat -gc 2222 250 10 统计2222虚拟机进程gc过程 250毫秒 总共十次
可选参数解释:
-gcold -gcnew 老年代 新生代垃圾收集情况
-gc 方法区 堆 老年代 垃圾收集情况
-class 类型加载、卸载情况
-gcutil 与-gc基本一致,会多出使用空间占总空间百分比的输出
-gccause 与-gcutil基本一致,会多出上次gc产生的原因
-compile 输出即时编译的信息(不输出具体哪些方法被编译)
-printcompilation 输出已经被即时编译的方法
常用gc输出后的参数解释:
其中s0 s1 E 分别表示Survivor0、Survivor1、Eden,O、M表示Old和Metespace