jvm性能调优工具 jcmd,jcmd <pid> VM.native_memory detail.diff jcmd <pid> VM.native_memory baseline

一、jcmd命令使用

先罗列下jcmd的常见用法:

  1. 堆直方图查看:查看系统中类统计信息GC.class_histogram,
  2. 堆转储:导出堆信息GC.heap_dump,
  3. 获取系统Properties内容VM.system_properties
  4. 获取启动参数VM.flags
  5. 获取所有性能相关数据PerfCounter.print
  6. 查看原生内存信息:jcmd process_id VM.native_memory summary
  7. 查看CompressedClassSpace大小:jcmd pid GC.heap_info

 

概述

 

在JDK 1.7之后,新增了一个命令行工具jcmd。它是一个多功能工具,可以用来导出堆,查看Java进程,导出线程信息,执行GC等。

使用示例

  1. jcmd -l/jcmd pid  help

 

2.查看虚拟机启动时间VM.uptime

 

3.打印线程栈信息Thread.print

jcmd 18370 Thread.print

 

4.查看系统中类统计信息 jcmd  pid GC.histogram

执行命令:jcmd 18370 GC.class_histogram
执行结果:
10870:             1             16  sun.reflect.GeneratedMethodAccessor552
10871:             1             16  sun.reflect.GeneratedMethodAccessor553
10872:             1             16  sun.reflect.GeneratedMethodAccessor554
10873:             1             16  sun.reflect.GeneratedMethodAccessor555
10874:             1             16  sun.reflect.GeneratedMethodAccessor556
10875:             1             16  sun.reflect.GeneratedMethodAccessor557
10876:             1             16  sun.reflect.GeneratedMethodAccessor558
10877:             1             16  sun.reflect.GeneratedMethodAccessor559
10878:             1             16  sun.reflect.GeneratedMethodAccessor56
10879:             1             16  sun.reflect.GeneratedMethodAccessor560
10880:             1             16  sun.reflect.GeneratedMethodAccessor561
10881:             1             16  sun.reflect.GeneratedMethodAccessor562
10882:             1             16  sun.reflect.GeneratedMethodAccessor563
10883:             1             16  sun.reflect.GeneratedMethodAccessor564

5.导出堆栈信息 GC.heap_dump

6.获取系统Properties内容VM.system_properties

 

7.获取启动参数VM.flags

 jcmd 28391 VM.system_properties
28391:
#Fri Sep 18 10:27:13 CST 2020
java.vendor=Oracle Corporation
sun.java.launcher=SUN_STANDARD
catalina.base=/data/cnrusr/cnr-base-srv
sun.management.compiler=HotSpot 64-Bit Tiered Compilers
sun.nio.ch.bugLevel=
catalina.useNaming=true
os.name=Linux
sun.boot.class.path=/data/cnrusr/jdk1.8.0_231/jre/lib/resources.jar\:/data/cnrusr/jdk1.8.0_231/jre/lib/rt.jar\:/data/cnrusr/jdk1.8.0_231/jre/lib/sunrsasign.jar\:/data/cnrusr/jdk1.8.0_231/jre/lib/jsse.jar\:/data/cnrusr/jdk1.8.0_231/jre/lib/jce.jar\:/data/cnrusr/jdk1.8.0_231/jre/lib/charsets.jar\:/data/cnrusr/jdk1.8.0_231/jre/lib/jfr.jar\:/data/cnrusr/jdk1.8.0_231/jre/classes
java.util.logging.config.file=/data/cnrusr/cnr-base-srv/conf/logging.properties
java.vm.specification.vendor=Oracle Corporation
java.runtime.version=1.8.0_231-b11
user.name=cnrusr
tomcat.util.scan.StandardJarScanFilter.jarsToScan=log4j-taglib*.jar,log4j-web*.jar,log4javascript*.jar,slf4j-taglib*.jar
shared.loader=
tomcat.util.buf.StringCache.byte.enabled=true
user.language=en
java.naming.factory.initial=org.apache.namin
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值