深入理解JVM(第四章笔记)

2017-08-15  本文已影响0人  walker_liu_fei

JDK 性能监控工具:

名称 主要作用
jps JVM Process status tool,显示制定系统内所有的Hotspt虚拟机进程
jstat JVM Statistic Monitor Tool,收集Hotspot 虚拟机各方面的运行数据
jinfo configuration info for java,显示虚拟机配置信息
jmap memory map for java 生成虚拟机的内存转储快照(heapdump 文件)
jhat JVM Heap dump browser 用于分析heapdump 文件,它会建立一个HTTP/HTML 服务器,让用户可以再浏览器上查看分析结果
jstack stack trace for java 显示虚拟机线程快照

JPS

jps [ options ] [ hostid ]
命令中的hostid 为RMI注册表中注册的主机名

-q 只输出LVMID(),省略执行主类名
-m 输出进程启动时,传给执行主类main()函数的参数
-l 输出主类的全名,如果进行执行的是jar,输出jar路径
-v 输出虚拟机进行启动时的JVM参数

jstat

命令格式: jstat [ option vmid [interval][s | ms] [count]]
对于命令中的vmid,如果是本地的虚拟机进程,vmid 和 lvmid是一致,如果是远程的格式为 [protocol:][//]lvmid[@hostname [:port]/servername]

 jstat -class pid:显示加载class的数量,及所占空间等信息。  
 jstat -compiler pid:显示VM实时编译的数量等信息。  
 jstat -gc pid:可以显示gc的信息,查看gc的次数,及时间。其中最后五项,分别是young gc的次数,young gc的时间,full gc的次数,full gc的时间,gc的总时间。  
 jstat -gccapacity:可以显示,VM内存中三代(young,old,perm)对象的使用和占用大小,如:PGCMN显示的是最小perm的内存使用量,PGCMX显示的是perm的内存最大使用量,PGC是当前新生成的perm内存占用量,PC是但前perm内存占用量。其他的可以根据这个类推, OC是old内纯的占用量。  
 jstat -gcnew pid:new对象的信息。  
 jstat -gcnewcapacity pid:new对象的信息及其占用量。  
 jstat -gcold pid:old对象的信息。  
 jstat -gcoldcapacity pid:old对象的信息及其占用量。  
 jstat -gcpermcapacity pid: perm对象的信息及其占用量。  
 jstat -util pid:统计gc信息统计。  
 jstat -printcompilation pid:当前VM执行的信息。  

jmap

使用方法 : jmap [ option ] vmid

jstack [options] vmid : 查看线程快照,主要目的是定位线程出现长时间停顿的原因
-F当’jstack [-l] pid’没有相应的时候强制打印栈信息
-l长列表. 打印关于锁的附加信息,例如属于java.util.concurrent的ownable synchronizers列表.
-m打印java和native c/c++框架的所有栈信息.
-h | -help打印帮助信息

上一篇 下一篇

猜你喜欢

热点阅读