JVM 性能分析速记(java自带)

java 自带的性能分析工具主要在bin目录下,包括jps、jstat、jmap、jhat等另外包括JConsole、Visual VM GUI工具。

此处不记录GUI ,且仅记录个人觉得常用有效的命令。

一、Jps:

jps

当前运行的java程序的pid、启动Main

jps -v 

启动的pid 、 Main 与启动VM参数,不包含默认启动参数,如要查看默认启动参数使用 jinfo -flags ${pid}

二、jstat   查看java 运行时相关信息

-gc 显示与GC相关的堆信息

 显示GC 相关信息第一列为时间戳,监听14124pid 的进程,每两秒打印一次,共10次。

相关列名中包含 from、to区,新生代老年代,元数据区,新生代gc老年gc的快照信息,详细信息可自行百度

-gccapacity

新生代最大最小、新生代大小、from与to区、新生代区、元数据、压缩、gc次数

-gcutil  显示垃圾收集信息

 显示各区当前使用的百分比,gc次数与时间。

三、jinfo 查看正在运行的java应用程序的扩展参数。

 -flag 查看具体参数值

-flags 查看所有参数

-sysprops 打印系统参数

四、jmap   生产dump 文件、查看堆内对象实例的统计信息、查看ClassLoader 的信息以及 finalizer 队列。

-histo

 

-dump  获取当前的堆快照

-clstat

五、jhat  分析堆快照内容

 

六、jstack  查看堆栈信息

-l  打印堆栈信息

 

七、jcmd  导出dump、查看java进程、导出线程信息、执行GC

 

 jcmd 14124 help  列出可执行的命令

 如: uptime 查看VM运行时间

 查看information

重要:导出dump信息,使用MAT 或者VisualVM 等工具分析

原文地址:https://www.cnblogs.com/jony-it/p/13460986.html