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

约定不等于承诺〃 2022-10-27 00:27 263阅读 0赞

原文链接:https://www.cnblogs.com/jony-it/p/13460986.html

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

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

一、Jps:

20210202171739742.png

jps

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

e13279da9de9494a546a0c830e7ea0d2.png

jps -v

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

2734d066abcb64cbd6ab2615db858a04.png

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

cadb8b5c1341807ca45914a79a8f8136.png

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

4298c55566ff41860feaecca6f322103.png

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

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

-gccapacity

536b88df0e1ec5bc12c15b8d399e4207.png

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

-gcutil 显示垃圾收集信息

5447c303f8c90648adb4c7a42a9bcde4.png

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

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

40775692dd982f6b02bced5d4f3bbc75.png

-flag 查看具体参数值

0f9fd3886724781276e27f71c7b83977.png

-flags 查看所有参数

jinfo -flags

-sysprops 打印系统参数

2cedcd5b10f04ef324f59a021be08233.png

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

3707c91cbc5f49f256839f294f6692d2.png

-histo

6651a4c30fa319a9f8c242f3b3612f9f.png

d57524099b169d72072e99a83dfccbcf.png

-dump 获取当前的堆快照

9a813b5541114e7a602695d186bd87e3.png

-clstat

  1. jinfo -clstat

五、jhat 分析堆快照内容

20210202171931914.png

21ce99c3d224e9b3aa15a195e7de0b5b.png

六、jstack 查看堆栈信息

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM0ODc0Nzg0_size_16_color_FFFFFF_t_70

-l 打印堆栈信息

a8be21555aa00f85bf4c6942022bee1e.png

857443c835409284a1931fa823db6210.png

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

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM0ODc0Nzg0_size_16_color_FFFFFF_t_70 1

jcmd 14124 help 列出可执行的命令

a76f1a35287e337fea55095c0852a8ef.png

如: uptime 查看VM运行时间

73adeb400e2d02e85ea73082b349f6d5.png

查看information

20210202172040771.png

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

20210202172055911.png

关注我的公众号,和我一起,每天进步一点点

20210202172128616.png

发表评论

表情:
评论列表 (有 0 条评论,263人围观)

还没有评论,来说两句吧...

相关阅读

    相关 JDKJVM分析工具

    一、业务背景 对于分布式架构中的文件服务来说,由于涉及大量的IO流操作,很容易引发JVM的相关异常,尤其是内存溢出的问题; ![format_png][] 在最近的一