JVM系列(六)JVM优化常用工具

在jdk的bin目录下有跟多的 *.exe命令行工具,这些工具非常强大可以监控虚拟机和故障处理。


名称作用描述
jpsJVM进程状态工具(JVM Process Status Tool)用于显示目标系统上JVM的java进程
jstatJVM统计监测工具(JVM Statistics Monitoring Tool)主要用于监测显示JVM的性能统计信息
jinfojava配置信息工具(JAVA Configuration Information)用于打印指定java进程核心文件或者远程调用服务的配置信息
jhatjava堆分析工具(JAVA Heap Analysis Tool)用于分析java堆内存中的对象信息
jmapjava内存映射工具(JAVA Memory Map)主要用于打印java进程,核心文件或者远程调用服务器的共享对象内存映射或者堆内存细节
jstackjava堆栈跟踪工具,主要用于打印指定java进程,核心文件或者远程调用服务器的java线程的堆栈跟踪信息
jmcjava任务控制工具(JAVAMission Control) 主要用于JVM的生产时间监测,分析诊断
jvisualvmjvm 监测,故障排除,分析工具,主要以图形化界面的方式提供运行与指定虚拟机的java应用程序的详细信息
jconsole图形化用户界面监测工具,主要用于监测并显示运行与java平台上的应用程序的性能和资源占用等信息

1.1 jps 虚拟机进程状况工具

功能:显示正在运行的虚拟机进程

参数:-mlvV

1.2 jinfo

功能:显示jvm运行的参数

参数:

1.3 jstat 运行状态信息

功能:显示本地或远程虚拟机进程中的类装载,内存,垃圾收集,JIT编译等运行数据,是定位虚拟机性能问题的首选工具;定位死锁

用法: jstat [-命令选项] [vmid] [间隔时间-毫秒] [查询次数]

命令选项描述
-class监视类装载、卸载数量、总空间以及耗费的时间
-compiler输出JIT编译过的方法数量耗时等
-gc垃圾回收堆的行为统计,常用命令
-gccapacity同-gc,还会输出Java堆各区域使用到的最大、最小空间
-gcutil同-gc,输出的是已使用空间占总空间的百分比
-gccause垃圾收集统计概述(同-gcutil),附加最近两次垃圾回收事件的原因
-gcnew统计新生代行为
-gcnewcapacity新生代与其相应的内存空间的统计
-gcold统计老年代行为
-gcoldcapacity老年代与其相应的内存空间的统计
-gcpermcapacity永久代与其相应内存空间的统计
-printcompilationhotspot编译方法统计

1.4 jmap 内存dump信息

分析堆

功能:用于生成heap dump 文件,如果不使用这个命令 还可以使用 -XX:HeapDumpOnOutMemoryError参数来让虚拟机出现OOM的时候自动生成dump文件,jmap不仅能生成dump文件,还可以查询finalize执行队列,java堆,和永久代的详细信息,如当前使用率,当前使用的那种收集器

用法: jmap [-命令选项] [vmid]

Memory Analyzer Tool = MAT (分析hprof)http://www.eclipse.org/mat/downloads.php

Attach Listener:负责接收外部命令
Single Dispactcher:接收命令收分发给不同的模块
Finalizer:执行用户finalizer方法的线程
Reference Handler:处理对象引用(软引用/弱引用/虚引用)

1.5 jstack 堆栈跟踪工具

功能:用于生成虚拟机当前时刻的线程快照,以便可以进一步定位线程出现长时间停顿的原因。如线程死锁,死循环,请求外部资源长时间等待等

用法: jstack [-命令选项] [vmid]

cpu满了,死循环堆cpu消耗很高

1.6 jvisualvm jconsole工具

升级版

由于 jconsole jvisualvm 相对来说很繁琐,甚至官方操作手册都长达几十页;后续想好会补充

jvisualvm插件地址:https://visualvm.github.io/index.html

根据自己的JDK版本下载相应版本的插件


原文链接

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值