JVM探秘5---JVM监控命令大全

jps命令---查看JVM进程状况

格式为:jps [options] [hostid]

功能描述: jps是用于查看有权访问的hotspot虚拟机的进程. 当未指定hostid时,默认查看本机jvm进程,否者查看指定的hostid机器上的jvm进程,此时hostid所指机器必须开启jstatd服务。 jps可以列出jvm进程lvmid,主类类名,main函数参数, jvm参数,jar名称等信息。

主要用法有:

jps -m  输出主函数传入的参数. 下的hello 就是在执行程序时从命令行输入的参数

jps -l    输出应用程序主类完整package名称或jar完整名称.

jps -v   输出通过.hotsportrc或-XX:Flags=<filename>指定的jvm参数

jstat命令---查看虚拟机统计信息监控工具

可以显示本地或远程虚拟机中的类加载、内存、垃圾收集、JIT编译等运行数据

格式为: jstat [options] [vmid] [interval[s|ms][count]]

参数options表示操作类型,vmid表示进程ID,interval和count表示查询间隔和次数,如查询进程1010的垃圾收集情况,没5秒钟收集一次,一共收集20次,则命令如下

jstat -gc 1010 5000 20

option主要有

-gc 监控jvm堆状况,包括eden区、2个survivor区,老年代等容量,已用空间,gc时间合计等信息

-gcutil 监控内容和-gc一样,输出的内容格式是使用空间占总空间的百分比

-gccause 与-gcutil功能一样,但是会额外输出导致上一次gc产生的原因

-gcnew 监视新生代gc的状况

-gcold  监视老年代gc的状况

JVM探秘5---JVM监控命令大全

S0:堆空间survivor 0 已使用空间百分比

S1:堆空间survivor 1 已使用空间百分比

E:堆空间Eden空间已使用的空间百分比

O:堆空间Old空间已使用的空间百分比

M:metaspace空间使用率

CCS:压缩类空间使用率

YGC:从应用程序启动到采样时Young GC的次数

YGCT:从应用程序启动到采样时Young GC的总时间

FGC:从应用程序启动到采样时Full GC的次数

FGCT:从应用程序启动到采样时Full GC的总时间

GCT:从应用程序启动到采样时用于垃圾回收的总时间

jmap命令---查看jvm内存映像工具

用于生产堆转储快照的dump文件,主要格式为:jmap [option] vmid

vmid是jvm进程ID,可通过jps查看

option是操作类型,主要有

-dump 生产jvm堆转储快照

-heap 显示jvm堆详细信息,如使用什么垃圾收集器、参数配置、分代状况

-histo 显示jvm堆中对象统计信息,包括类、实例数量和合计容量

jstack命令---jvm堆栈跟踪工具

jstack用于生产虚拟机当前时刻的线程快照,也就是当前jvm中每一条线程正在执行的方法堆栈的集合,可以定位长时间停顿的线程的原因,如线程间死锁、死循环、请求外部资源超时等

上一篇:C和指针c6-1


下一篇:Android 自定义ScrollView ListView 体验各种纵向滑动的需求