4. 虚拟机性能监控与故障处理工具

4.2 JDK命令行工具

名称 主要作用
jps JVM Process Status Tool,显示指定系统内所有HotSpot虚拟机进程
jstat JVM Statistics Monitoring Tool,用于手机HotSpot虚拟机各方面运行数据
jinfo Configuration Info For Java,显示虚拟机配置信息
jmap Memory Map For Java,生成虚拟机内存转储快照(heapdumap文件)
jhat JVM Heap Dump Brower,用于分析heapdump文件
jstack Stack Trace For Java,显示虚拟机线程快照
4.2.1 jps:虚拟机进程状况工具
jps [options] [hostid]
参数 功能
-q 只输出LVMID,省略主类名称
-m 输出虚拟机进程启动时传递给主类main()函数的参数
-l 输出主类全名,如果进程执行的是jar包,输出jar路径
-v 输出虚拟机启动时的JVM参数
4.2.2 jstat:虚拟机统计信息监视工具
主要查询3类信息:
  • 类装载
  • 垃圾收集
  • 运行期编译
jstat [ option vmid [interval [s|ms] [count]] ]
参数 功能
-class 监视类装载、卸载数量、总空间及类装载所耗费的时间
-gc 监视Java堆状况,包括Eden区,2个survivor区、老年代、永久代等的容量、已用空间、GC时间合计等信息
-gccapacity 与-gc基本相同,主要关注Java堆各个区域使用到的最大和最小空间
-gcutil 与-gc基本相同,主要关注已使用空间占总空间百分比
-gccause 与-gcutil基本相同,但是会额外输出导致上一次gc产生的原因
-gcnew 监视新生代GC状况
-gcnewcapacity 监视内容与-gcnew一样,主要关注使用到的最大和最小空间
-gcold 监视老年代GC情况
-gcoldcapacity
-compiler 输出JIT编译器编译过的方法、耗时等信息
-printcompilation 输出已经被JIT编译的方法
4.2.3 jinfo:Java配置信息工具
jinfo [option] pid
4.2.4 jmap:Java内存映像工具
jmap [option] vmid
参数 功能
-dump 生成Java堆转储快照。格式:-dump:[live,]format=b,file=,其中live子参数说明是否只dump出存活的对象
-finalizerinfo 在F-Queue中等待Finalizer线程执行finalize方法的对象。只在Linux/Solaris下有效
-heap 显示Java堆详细信息,如使用哪种回收期、参数配置、分代状况等。只在Linux/Solaris下有效
-histo 显示堆中对象统计信息,包括类、实例数量和合计总量
4.2.5 jhat:虚拟机堆转储快照分析工具
4.2.6 jstack:Java堆栈跟踪工具
jstack [option] vmid
参数 功能
-F 强制输出
-l 除堆栈外,显示关于锁的附加信息
-m 如果调用了本地方法的话,可以显示C/C++的堆栈

4.3 JDK可视化工具

4.3.1 JConsole:Java监视与管理控制台
4.3.2 VisualVm:多合一故障处理工具
  • 下载地址:http://visualvm.github.io/download.html
  • 插件中心:https://visualvm.github.io/pluginscenters.html

你可能感兴趣的:(4. 虚拟机性能监控与故障处理工具)