jvm 性能调优工具之 jinfo命令详解

Posted 爱上口袋的天空

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jvm 性能调优工具之 jinfo命令详解相关的知识,希望对你有一定的参考价值。

一、jinfo

1、简介

        jinfo(Configuration Info for Java) 查看虚拟机配置参数信思,也可用于调整虚拟机的配置参数。

        在很多情况下,Java应用程序不会指定所有的Java虚拟机参数。而此时,开发人员可能不知道某一个具体的Java虚拟机参数的默认值。在这种情况下,可能需要通过查找文档获取某个参数的默认值。这个查找过程可能是非常艰难的。但有了 jinfo工具,开发人员可以很方便地找到Java虚拟机参数的当前值。

jinfo不仅可以查看运行时某一个Java虚拟机参数的实际取值, 甚至可以在运行时修改部分参 数,并使之立即生效。 但是,并非所有参数都支持动态修改。参数只有被标记 manageable的flag可以被实时修改。其实,这个修改能力是 极其有限的。

2、jinfo -sysprops pid :查看该进程的全部配置信息

 描述:输出当前 jvm 进行的全部的系统属性

2.1、启动如下程序

package com.kgf.kgfjavalearning2021.jvm;

import java.util.ArrayList;

/***
 * 测试GC的频率:
 * 设置内存大小:-Xmx60m -XX:SurvivorRatio=8
 *
 * -Xmx60m: 表示是最大堆的大小, 也就是当你的虚拟机启动后, 就会分配这么大的堆内存给你
 * -XX:SurvivorRatio=8:
 *      设置新生代中eden和S0/S1空间的比例
 *      默认
 *          -XX:SurvivorRatio=8,Eden:S0:S1=8:1:1
 *      假如
 *          -XX:SurvivorRatio=4,Eden:S0:S1=4:1:1
 *          SurvivorRatio值就是设置Eden区的比例占多少,S0/S1相同
 *
 */
public class GCTest 

    public static void main(String[] args) 

        ArrayList<byte[]> list = new ArrayList<>();

        for (int i = 0; i < 1000; i++) 
            byte[] arr = new byte[1024*100];//每次向list中存放100kb的字节数组
            list.add(arr);
            try 
                Thread.sleep(100);
             catch (InterruptedException e) 
                e.printStackTrace();
            
        
    


在idea中设置堆内存:

 2.2、使用jinfo命令查看,查看到的参数其实在我们的java中是可以通过system.getProperties()参数进行获取到的,其实就是环境变量

命令:jinfo -sysprops pid

C:\\Users\\86136>jps
10864 GCTest
11248 RemoteMavenServer
2052
8616 Jps
4972 Launcher

C:\\Users\\86136>jinfo -sysprops 10864
Attaching to process ID 10864, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 25.51-b03
java.runtime.name = Java(TM) SE Runtime Environment
java.vm.version = 25.51-b03
sun.boot.library.path = D:\\jdk1.8.0_51\\jre\\bin
java.vendor.url = http://java.oracle.com/
java.vm.vendor = Oracle Corporation
path.separator = ;
file.encoding.pkg = sun.io
java.vm.name = Java HotSpot(TM) 64-Bit Server VM
sun.os.patch.level =
sun.java.launcher = SUN_STANDARD
user.script =
user.country = CN
user.dir = E:\\WorkSpace\\kgf-java-learning2021
java.vm.specification.name = Java Virtual Machine Specification
java.runtime.version = 1.8.0_51-b16
java.awt.graphicsenv = sun.awt.Win32GraphicsEnvironment
os.arch = amd64
java.endorsed.dirs = D:\\jdk1.8.0_51\\jre\\lib\\endorsed
line.separator =

java.io.tmpdir = C:\\Users\\86136\\AppData\\Local\\Temp\\
java.vm.specification.vendor = Oracle Corporation
user.variant =
os.name = Windows 8.1
sun.jnu.encoding = GBK
java.library.path = D:\\jdk1.8.0_51\\bin;C:\\WINDOWS\\Sun\\Java\\bin;C:\\WINDOWS\\system32;C:\\WINDOWS;E:\\WorkSpace\\software\\Python37\\Scripts\\;E:\\WorkSpace\\software\\Python37\\;D:\\oracle12c\\product\\12.2.0\\dbhome_1\\bin;C:\\Program Files (x86)\\Intel\\Intel(R) Management Engine Components\\iCLS\\;C:\\Program Files\\Intel\\Intel(R) Management Engine Components\\iCLS\\;C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;C:\\Windows\\System32\\OpenSSH\\;C:\\Program Files (x86)\\Intel\\Intel(R) Management Engine Components\\DAL;C:\\Program Files\\Intel\\Intel(R) Management Engine Components\\DAL;C:\\Program Files (x86)\\Intel\\Intel(R) Management Engine Components\\IPT;C:\\Program Files\\Intel\\Intel(R) Management Engine Components\\IPT;C:\\Program Files (x86)\\NVIDIA Corporation\\PhysX\\Common;D:\\jdk1.8.0_51\\bin;D:\\apache-maven-3.5.2\\bin;D:\\TortoiseSVN\\bin;D:\\oracleClient\\instantclient_12_2;D:\\mysql-5.7.24-winx64\\bin;D:\\zookeeper-3.4.10\\bin;d:\\Git\\cmd;D:\\Redis-x64-3.2.100;D:\\hadoopWorkSpace\\hadoop-2.7.2\\bin;C:\\Program Files (x86)\\Common Files\\Thunder Network\\KanKan\\Codecs;C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\;C:\\WINDOWS\\System32\\OpenSSH\\;D:\\scala-2.11.8\\bin;D:\\gradle-6.7\\bin;D:\\nodejs\\;D:\\OpenSSL-Win64\\bin;D:\\software\\Vagrant\\bin;C:\\Ruby27-x64\\bin;C:\\Users\\86136\\AppData\\Local\\Microsoft\\WindowsApps;;D:\\Microsoft VS Code\\bin;C:\\Users\\86136\\AppData\\Roaming\\npm;.
java.specification.name = Java Platform API Specification
java.class.version = 52.0
sun.management.compiler = HotSpot 64-Bit Tiered Compilers
os.version = 6.3
user.home = C:\\Users\\86136
user.timezone = Asia/Shanghai
java.awt.printerjob = sun.awt.windows.WPrinterJob
file.encoding = UTF-8
java.specification.version = 1.8
user.name = 86136
java.class.path = D:\\jdk1.8.0_51\\jre\\lib\\charsets.jar;D:\\jdk1.8.0_51\\jre\\lib\\deploy.jar;D:\\jdk1.8.0_51\\jre\\lib\\ext\\access-bridge-64.jar;D:\\jdk1.8.0_51\\jre\\lib\\ext\\cldrdata.jar;D:\\jdk1.8.0_51\\jre\\lib\\ext\\dnsns.jar;D:\\jdk1.8.0_51\\jre\\lib\\ext\\jaccess.jar;D:\\jdk1.8.0_51\\jre\\lib\\ext\\jfxrt.jar;D:\\jdk1.8.0_51\\jre\\lib\\ext\\localedata.jar;D:\\jdk1.8.0_51\\jre\\lib\\ext\\nashorn.jar;D:\\jdk1.8.0_51\\jre\\lib\\ext\\sunec.jar;D:\\jdk1.8.0_51\\jre\\lib\\ext\\sunjce_provider.jar;D:\\jdk1.8.0_51\\jre\\lib\\ext\\sunmscapi.jar;D:\\jdk1.8.0_51\\jre\\lib\\ext\\sunpkcs11.jar;D:\\jdk1.8.0_51\\jre\\lib\\ext\\zipfs.jar;D:\\jdk1.8.0_51\\jre\\lib\\javaws.jar;D:\\jdk1.8.0_51\\jre\\lib\\jce.jar;D:\\jdk1.8.0_51\\jre\\lib\\jfr.jar;D:\\jdk1.8.0_51\\jre\\lib\\jfxswt.jar;D:\\jdk1.8.0_51\\jre\\lib\\jsse.jar;D:\\jdk1.8.0_51\\jre\\lib\\management-agent.jar;D:\\jdk1.8.0_51\\jre\\lib\\plugin.jar;D:\\jdk1.8.0_51\\jre\\lib\\resources.jar;D:\\jdk1.8.0_51\\jre\\lib\\rt.jar;E:\\WorkSpace\\kgf-java-learning2021\\target\\classes;D:\\repository\\org\\springframework\\boot\\spring-boot-starter-web\\2.5.6\\spring-boot-starter-web-2.5.6.jar;D:\\repository\\org\\springframework\\boot\\spring-boot-starter\\2.5.6\\spring-boot-starter-2.5.6.jar;D:\\repository\\org\\springframework\\boot\\spring-boot-starter-logging\\2.5.6\\spring-boot-starter-logging-2.5.6.jar;D:\\repository\\ch\\qos\\logback\\logback-classic\\1.2.6\\logback-classic-1.2.6.jar;D:\\repository\\ch\\qos\\logback\\logback-core\\1.2.6\\logback-core-1.2.6.jar;D:\\repository\\org\\apache\\logging\\log4j\\log4j-to-slf4j\\2.14.1\\log4j-to-slf4j-2.14.1.jar;D:\\repository\\org\\apache\\logging\\log4j\\log4j-api\\2.14.1\\log4j-api-2.14.1.jar;D:\\repository\\org\\slf4j\\jul-to-slf4j\\1.7.32\\jul-to-slf4j-1.7.32.jar;D:\\repository\\jakarta\\annotation\\jakarta.annotation-api\\1.3.5\\jakarta.annotation-api-1.3.5.jar;D:\\repository\\org\\yaml\\snakeyaml\\1.28\\snakeyaml-1.28.jar;D:\\repository\\org\\springframework\\boot\\spring-boot-starter-json\\2.5.6\\spring-boot-starter-json-2.5.6.jar;D:\\repository\\com\\fasterxml\\jackson\\core\\jackson-databind\\2.12.5\\jackson-databind-2.12.5.jar;D:\\repository\\com\\fasterxml\\jackson\\core\\jackson-annotations\\2.12.5\\jackson-annotations-2.12.5.jar;D:\\repository\\com\\fasterxml\\jackson\\core\\jackson-core\\2.12.5\\jackson-core-2.12.5.jar;D:\\repository\\com\\fasterxml\\jackson\\datatype\\jackson-datatype-jdk8\\2.12.5\\jackson-datatype-jdk8-2.12.5.jar;D:\\repository\\com\\fasterxml\\jackson\\datatype\\jackson-datatype-jsr310\\2.12.5\\jackson-datatype-jsr310-2.12.5.jar;D:\\repository\\com\\fasterxml\\jackson\\module\\jackson-module-parameter-names\\2.12.5\\jackson-module-parameter-names-2.12.5.jar;D:\\repository\\org\\springframework\\boot\\spring-boot-starter-tomcat\\2.5.6\\spring-boot-starter-tomcat-2.5.6.jar;D:\\repository\\org\\apache\\tomcat\\embed\\tomcat-embed-core\\9.0.54\\tomcat-embed-core-9.0.54.jar;D:\\repository\\org\\apache\\tomcat\\embed\\tomcat-embed-el\\9.0.54\\tomcat-embed-el-9.0.54.jar;D:\\repository\\org\\apache\\tomcat\\embed\\tomcat-embed-websocket\\9.0.54\\tomcat-embed-websocket-9.0.54.jar;D:\\repository\\org\\springframework\\spring-web\\5.3.12\\spring-web-5.3.12.jar;D:\\repository\\org\\springframework\\spring-beans\\5.3.12\\spring-beans-5.3.12.jar;D:\\repository\\org\\springframework\\spring-webmvc\\5.3.12\\spring-webmvc-5.3.12.jar;D:\\repository\\org\\springframework\\spring-aop\\5.3.12\\spring-aop-5.3.12.jar;D:\\repository\\org\\springframework\\spring-context\\5.3.12\\spring-context-5.3.12.jar;D:\\repository\\org\\springframework\\spring-expression\\5.3.12\\spring-expression-5.3.12.jar;D:\\repository\\org\\springframework\\boot\\spring-boot-devtools\\2.5.6\\spring-boot-devtools-2.5.6.jar;D:\\repository\\org\\springframework\\boot\\spring-boot\\2.5.6\\spring-boot-2.5.6.jar;D:\\repository\\org\\springframework\\boot\\spring-boot-autoconfigure\\2.5.6\\spring-boot-autoconfigure-2.5.6.jar;D:\\repository\\org\\projectlombok\\lombok\\1.18.16\\lombok-1.18.16.jar;D:\\repository\\org\\slf4j\\slf4j-api\\1.7.32\\slf4j-api-1.7.32.jar;D:\\repository\\org\\springframework\\spring-core\\5.3.12\\spring-core-5.3.12.jar;D:\\repository\\org\\springframework\\spring-jcl\\5.3.12\\spring-jcl-5.3.12.jar;D:\\repository\\com\\google\\guava\\guava\\20.0\\guava-20.0.jar;D:\\repository\\org\\apache\\commons\\commons-lang3\\3.12.0\\commons-lang3-3.12.0.jar;D:\\repository\\com\\alibaba\\fastjson\\1.2.75\\fastjson-1.2.75.jar;D:\\repository\\cn\\hutool\\hutool-all\\5.5.1\\hutool-all-5.5.1.jar;D:\\repository\\org\\apache\\poi\\poi-ooxml\\4.1.2\\poi-ooxml-4.1.2.jar;D:\\repository\\org\\apache\\commons\\commons-compress\\1.19\\commons-compress-1.19.jar;D:\\repository\\com\\github\\virtuald\\curvesapi\\1.06\\curvesapi-1.06.jar;D:\\repository\\org\\apache\\poi\\poi-ooxml-schemas\\4.1.2\\poi-ooxml-schemas-4.1.2.jar;D:\\repository\\org\\apache\\xmlbeans\\xmlbeans\\3.1.0\\xmlbeans-3.1.0.jar;D:\\repository\\org\\apache\\poi\\poi\\4.1.2\\poi-4.1.2.jar;D:\\repository\\commons-codec\\commons-codec\\1.15\\commons-codec-1.15.jar;D:\\repository\\org\\apache\\commons\\commons-collections4\\4.4\\commons-collections4-4.4.jar;D:\\repository\\org\\apache\\commons\\commons-math3\\3.6.1\\commons-math3-3.6.1.jar;D:\\repository\\com\\zaxxer\\SparseBitSet\\1.2\\SparseBitSet-1.2.jar;D:\\JetBrains\\idea20190303\\lib\\idea_rt.jar
java.vm.specification.version = 1.8
sun.arch.data.model = 64
sun.java.command = com.kgf.kgfjavalearning2021.jvm.GCTest
java.home = D:\\jdk1.8.0_51\\jre
user.language = zh
java.specification.vendor = Oracle Corporation
awt.toolkit = sun.awt.windows.WToolkit
java.vm.info = mixed mode
java.version = 1.8.0_51
java.ext.dirs = D:\\jdk1.8.0_51\\jre\\lib\\ext;C:\\WINDOWS\\Sun\\Java\\lib\\ext
sun.boot.class.path = D:\\jdk1.8.0_51\\jre\\lib\\resources.jar;D:\\jdk1.8.0_51\\jre\\lib\\rt.jar;D:\\jdk1.8.0_51\\jre\\lib\\sunrsasign.jar;D:\\jdk1.8.0_51\\jre\\lib\\jsse.jar;D:\\jdk1.8.0_51\\jre\\lib\\jce.jar;D:\\jdk1.8.0_51\\jre\\lib\\charsets.jar;D:\\jdk1.8.0_51\\jre\\lib\\jfr.jar;D:\\jdk1.8.0_51\\jre\\classes
java.vendor = Oracle Corporation
file.separator = \\
java.vendor.url.bug = http://bugreport.sun.com/bugreport/
sun.io.unicode.encoding = UnicodeLittle
sun.cpu.endian = little
sun.desktop = windows
sun.cpu.isalist = amd64

C:\\Users\\86136>

3、jinfo -flags pid: 查看曾经赋过值的参数值

命令:jinfo -flags 10696

C:\\Users\\86136>jps
11248 RemoteMavenServer
4992 Launcher
2052
10696 GCTest
13596 Jps

C:\\Users\\86136>jinfo -flags 10696
Attaching to process ID 10696, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 25.51-b03
Non-default VM flags: -XX:CICompilerCount=4 -XX:InitialHeapSize=62914560 -XX:MaxHeapSize=62914560 -XX:MaxNewSize=20971520 -XX:MinHeapDeltaBytes=524288 -XX:NewSize=20971520 -XX:OldSize=41943040 -XX:SurvivorRatio=8 -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseFastUnorderedTimeStamps -XX:-UseLargePagesIndividualAllocation -XX:+UseParallelGC
Command line:  -Xmx60m -XX:SurvivorRatio=8 -javaagent:D:\\JetBrains\\idea20190303\\lib\\idea_rt.jar=1036:D:\\JetBrains\\idea20190303\\bin -Dfile.encoding=UTF-8

C:\\Users\\86136>

4、jinfo -flag <具体参数> pid: 查看具体参数的值

上面我们在程序里面设置了最大的堆内存是60M,这里的内存刚好是60M 

5、使用jinfo进行参数修改

jinfo不仅可以查看运行时某一个Java虚拟机参数的实际取值, 甚至可以在运行时修改部分参 数,并使之立即生效。 但是,并非所有参数都支持动态修改。参数只有被标记 manageable的flag可以被实时修改。其实,这个修改能力是 极其有限的

5.1、布尔类型: jinfo -flag +-参数 pid

5.2、非布尔类型: jinfo -flag 参数名=参数值 pid

6、查看JVM启动参数值

java -XX: -PrintFlagslnitial 查看所有JVM参数启动的初始值
java -XX: +PrintFlagsFinal 查看所有JVM参数的最终值(这个用的更多一些)
java -XX: +PrintCommandLineflags 查看那些已经被用户或者JVM设置过的详细的XX参数的名称和值

上面前两个用的比较多一些,特别是第二个

6.1、我们使用java -XX: +PrintFlagsFinal输出到一个文件中

命令:java -XX: +PrintFlagsFinal >1.txt

1.txt内容如下:

下面我们查看JVM的最大堆内存:

可以发现最大堆内存为4G,初始化堆内存为256M,安装下面的计算时正确的,因为我的电脑是16G的内存

  • 默认情况下:
    • 初始内存大小:物理电脑内存大小/64
    • 最大内存大小:物理电脑内存大小/4
[Global flags]
    uintx AdaptiveSizeDecrementScaleFactor          = 4                                   product
    uintx AdaptiveSizeMajorGCDecayTimeScale         = 10                                  product
    uintx AdaptiveSizePausePolicy                   = 0                                   product
    uintx AdaptiveSizePolicyCollectionCostMargin    = 50                                  product
    uintx AdaptiveSizePolicyInitializingSteps       = 20                                  product
    uintx AdaptiveSizePolicyOutputInterval          = 0                                   product
    uintx AdaptiveSizePolicyWeight                  = 10                                  product
    uintx AdaptiveSizeThroughPutPolicy              = 0                                   product
    uintx AdaptiveTimeWeight                        = 25                                  product
     bool AdjustConcurrency                         = false                               product
     bool AggressiveOpts                            = false                               product
     intx AliasLevel                                = 3                                   C2 product
     bool AlignVector                               = false                               C2 product
     intx AllocateInstancePrefetchLines             = 1                                   product
     intx AllocatePrefetchDistance                  = 192                                 product
     intx AllocatePrefetchInstr                     = 3                                   product
     intx AllocatePrefetchLines                     = 4                                   product
     intx AllocatePrefetchStepSize                  = 64                                  product
     intx AllocatePrefetchStyle                     = 1                                   product
     bool AllowJNIEnvProxy                          = false                               product
     bool AllowNonVirtualCalls                      = false                               product
     bool AllowParallelDefineClass                  = false                               product
     bool AllowUserSignalHandlers                   = false                               product
     bool AlwaysActAsServerClassMachine             = false                               product
     bool AlwaysCompileLoopMethods                  = false                               product
     bool AlwaysLockClassLoader                     = false                               product
     bool AlwaysPreTouch                            = false                               product
     bool AlwaysRestoreFPU                          = false                               product
     bool AlwaysTenure                              = false                               product
     bool AssertOnSuspendWaitFailure                = false                               product
     bool AssumeMP                                  = false                               product
     intx AutoBoxCacheMax                           = 128                                 C2 product
    uintx AutoGCSelectPauseMillis                   = 5000                                product
     intx BCEATraceLevel                            = 0                                   product
     intx BackEdgeThreshold                         = 100000                              pd product
     bool BackgroundCompilation                     = true                                pd product
    uintx BaseFootPrintEstimate                     = 268435456                           product
     intx BiasedLockingBulkRebiasThreshold          = 20                                  product
     intx BiasedLockingBulkRevokeThreshold          = 40                                  product
     intx BiasedLockingDecayTime                    = 25000                               product
     intx BiasedLockingStartupDelay                 = 4000                                product
     bool BindGCTaskThreadsToCPUs                   = false                               product
     bool BlockLayoutByFrequency                    = true                                C2 product
     intx BlockLayoutMinDiamondPercentage           = 20                                  C2 product
     bool BlockLayoutRotateLoops                    = true                                C2 product
     bool BranchOnRegister                          = false                               C2 product
     bool BytecodeVerificationLocal                 = false                               product
     bool BytecodeVerificationRemote                = true                                product
     bool C1OptimizeVirtualCallProfiling            = true                                C1 product
     bool C1ProfileBranches                         = true                                C1 product
     bool C1ProfileCalls                            = true                                C1 product
     bool C1ProfileCheckcasts                       = true                                C1 product
     bool C1ProfileInlinedCalls                     = true                                C1 product
     bool C1ProfileVirtualCalls                     = true                                C1 product
     bool C1UpdateMethodData                        = true                                C1 product
     intx CICompilerCount                          := 4                                   product
     bool CICompilerCountPerCPU                     = true                                product
     bool CITime                                    = false                               product
     bool CMSAbortSemantics                         = false                               product
    uintx CMSAbortablePrecleanMinWorkPerIteration   = 100                                 product
     intx CMSAbortablePrecleanWaitMillis            = 100                                 manageable
    uintx CMSBitMapYieldQuantum                     = 10485760                            product
    uintx CMSBootstrapOccupancy                     = 50                                  product
     bool CMSClassUnloadingEnabled                  = true                                product
    uintx CMSClassUnloadingMaxInterval              = 0                                   product
     bool CMSCleanOnEnter                           = true                                product
     bool CMSCompactWhenClearAllSoftRefs            = true                                product
    uintx CMSConcMarkMultiple                       = 32                                  product
     bool CMSConcurrentMTEnabled                    = true                                product
    uintx CMSCoordinatorYieldSleepCount             = 10                                  product
     bool CMSDumpAtPromotionFailure                 = false                               product
     bool CMSEdenChunksRecordAlways                 = true                                product
    uintx CMSExpAvgFactor                           = 50                                  product
     bool CMSExtrapolateSweep                       = false                               product
    uintx CMSFullGCsBeforeCompaction                = 0                                   product
    uintx CMSIncrementalDutyCycle                   = 10                                  product
    uintx CMSIncrementalDutyCycleMin                = 0                                   product
     bool CMSIncrementalMode                        = false                               product
    uintx CMSIncrementalOffset                      = 0                                   product
     bool CMSIncrementalPacing                      = true                                product
    uintx CMSIncrementalSafetyFactor                = 10                                  product
    uintx CMSIndexedFreeListReplenish               = 4                                   product
     intx CMSInitiatingOccupancyFraction            = -1                                  product
    uintx CMSIsTooFullPercentage                    = 98                                  product
   double CMSLargeCoalSurplusPercent                = 0.950000                            product
   double CMSLargeSplitSurplusPercent               = 1.000000                            product
     bool CMSLoopWarn                               = false                               product
    uintx CMSMaxAbortablePrecleanLoops              = 0                                   product
     intx CMSMaxAbortablePrecleanTime               = 5000                                product
    uintx CMSOldPLABMax                             = 1024                                product
    uintx CMSOldPLABMin                             = 16                                  product
    uintx CMSOldPLABNumRefills                      = 4                                   product
    uintx CMSOldPLABReactivityFactor                = 2                                   product
     bool CMSOldPLABResizeQuicker                   = false                               product
    uintx CMSOldPLABToleranceFactor                 = 4                                   product
     bool CMSPLABRecordAlways                       = true                                product
    uintx CMSParPromoteBlocksToClaim                = 16                                  product
     bool CMSParallelInitialMarkEnabled             = true                                product
     bool CMSParallelRemarkEnabled                  = true                                product
     bool CMSParallelSurvivorRemarkEnabled          = true                                product
    uintx CMSPrecleanDenominator                    = 3                                   product
    uintx CMSPrecleanIter                           = 3                                   product
    uintx CMSPrecleanNumerator                      = 2                                   product
     bool CMSPrecleanRefLists1                      = true                                product
     bool CMSPrecleanRefLists2                      = false                               product
     bool CMSPrecleanSurvivors1                     = false                               product
     bool CMSPrecleanSurvivors2                     = true                                product
    uintx CMSPrecleanThreshold                      = 1000                                product
     bool CMSPrecleaningEnabled                     = true                                product
     bool CMSPrintChunksInDump                      = false                               product
     bool CMSPrintEdenSurvivorChunks                = false                               product
     bool CMSPrintObjectsInDump                     = false                               product
    uintx CMSRemarkVerifyVariant                    = 1                                   product
     bool CMSReplenishIntermediate                  = true                                product
    uintx CMSRescanMultiple                         = 32                                  product
    uintx CMSSamplingGrain                          = 16384                               product
     bool CMSScavengeBeforeRemark                   = false                               product
    uintx CMSScheduleRemarkEdenPenetration          = 50                                  product
    uintx CMSScheduleRemarkEdenSizeThreshold        = 2097152                             product
    uintx CMSScheduleRemarkSamplingRatio            = 5                                   product
   double CMSSmallCoalSurplusPercent                = 1.050000                            product
   double CMSSmallSplitSurplusPercent               = 1.100000                            product
     bool CMSSplitIndexedFreeListBlocks             = true                                product
     intx CMSTriggerInterval                        = -1                                  manageable
    uintx CMSTriggerRatio                           = 80                                  product
     intx CMSWaitDuration                           = 2000                                manageable
    uintx CMSWorkQueueDrainThreshold                = 10                                  product
     bool CMSYield                                  = true                                product
    uintx CMSYieldSleepCount                        = 0                                   product
    uintx CMSYoungGenPerWorker                      = 67108864                            pd product
    uintx CMS_FLSPadding                            = 1                                   product
    uintx CMS_FLSWeight                             = 75                                  product
    uintx CMS_SweepPadding                          = 1                                   product
    uintx CMS_SweepTimerThresholdMillis             = 10                                  product
    uintx CMS_SweepWeight                           = 75                                  product
     bool CheckEndorsedAndExtDirs                   = false                               product
     bool CheckJNICalls                             = false                               product
     bool ClassUnloading                            = true                                product
     bool ClassUnloadingWithConcurrentMark          = true                                product
     intx ClearFPUAtPark                            = 0                                   product
     bool ClipInlining                              = true                                product
    uintx CodeCacheExpansionSize                    = 65536                               pd product
    uintx CodeCacheMinimumFreeSpace                 = 512000                              product
     bool CollectGen0First                          = false                               product
     bool CompactFields                             = true                                product
     intx CompilationPolicyChoice                   = 3                                   product
ccstrlist CompileCommand                            =                                     product
    ccstr CompileCommandFile                        =                                     product
ccstrlist CompileOnly                               =                                     product
     intx CompileThreshold                          = 10000                               pd product
     bool CompilerThreadHintNoPreempt               = true                                product
     intx CompilerThreadPriority                    = -1                                  product
     intx CompilerThreadStackSize                   = 0                                   pd product
    uintx CompressedClassSpaceSize                  = 1073741824                          product
    uintx ConcGCThreads                             = 0                                   product
     intx ConditionalMoveLimit                      = 3                                   C2 pd product
     intx ContendedPaddingWidth                     = 128                                 product
     bool ConvertSleepToYield                       = true                                pd product
     bool ConvertYieldToSleep                       = false                               product
     bool CreateMinidumpOnCrash                     = false                               product
     bool CriticalJNINatives                        = true                                product
     bool DTraceAllocProbes                         = false                               product
     bool DTraceMethodProbes                        = false                               product
     bool DTraceMonitorProbes                       = false                               product
     bool Debugging                                 = false                               product
    uintx DefaultMaxRAMFraction                     = 4                                   product
     intx DefaultThreadPriority                     = -1                                  product
     intx DeferPollingPageLoopCount                 = -1                                  product
     intx DeferThrSuspendLoopCount                  = 4000                                product
     bool DeoptimizeRandom                          = false                               product
     bool DisableAttachMechanism                    = false                               product
     bool DisableExplicitGC                         = false                               product
     bool DisplayVMOutputToStderr                   = false                               product
     bool DisplayVMOutputToStdout                   = false                               product
     bool DoEscapeAnalysis                          = true                                C2 product
     bool DontCompileHugeMethods                    = true                                product
     bool DontYieldALot                             = false                               pd product
    ccstr DumpLoadedClassList                       =                                     product
     bool DumpReplayDataOnError                     = true                                product
     bool DumpSharedSpaces                          = false                               product
     bool EagerXrunInit                             = false                               product
     intx EliminateAllocationArraySizeLimit         = 64                                  C2 product
     bool EliminateAllocations                      = true                                C2 product
     bool EliminateAutoBox                          = true                                C2 product
     bool EliminateLocks                            = true                                C2 product
     bool EliminateNestedLocks                      = true                                C2 product
     intx EmitSync                                  = 0                                   product
     bool EnableContended                           = true                                product
     bool EnableSharedLookupCache                   = true                                product
     bool EnableTracing                             = false                               product
    uintx ErgoHeapSizeLimit                         = 0                                   product
    ccstr ErrorFile                                 =                                     product
    ccstr ErrorReportServer                         =                                     product
   double EscapeAnalysisTimeout                     = 20.000000                           C2 product
     bool EstimateArgEscape                         = true                                product
     bool ExplicitGCInvokesConcurrent               = false                               product
     bool ExplicitGCInvokesConcurrentAndUnloadsClasses  = false                               product
     bool ExtendedDTraceProbes                      = false                               product
    ccstr ExtraSharedClassListFile                  =                                     product
     bool FLSAlwaysCoalesceLarge                    = false                               product
    uintx FLSCoalescePolicy                         = 2                                   product
   double FLSLargestBlockCoalesceProximity          = 0.990000                            product
     bool FailOverToOldVerifier                     = true                                product
     bool FastTLABRefill                            = true                                product
     intx FenceInstruction                          = 0                                   ARCH product
     intx FieldsAllocationStyle                     = 1                                   product
     bool FilterSpuriousWakeups                     = true                                product
    ccstr FlightRecorderOptions                     =                                     product
     bool ForceNUMA                                 = false                               product
     bool ForceTimeHighResolution                   = false                               product
     intx FreqInlineSize                            = 325                                 pd product
   double G1ConcMarkStepDurationMillis              = 10.000000                           product
    uintx G1ConcRSHotCardLimit                      = 4                                   product
    uintx G1ConcRSLogCacheSize                      = 10                                  product
     intx G1ConcRefinementGreenZone                 = 0                                   product
     intx G1ConcRefinementRedZone                   = 0                                   product
     intx G1ConcRefinementServiceIntervalMillis     = 300                                 product
    uintx G1ConcRefinementThreads                   = 0                                   product
     intx G1ConcRefinementThresholdStep             = 0                                   product
     intx G1ConcRefinementYellowZone                = 0                                   product
    uintx G1ConfidencePercent                       = 50                                  product
    uintx G1HeapRegionSize                          = 0                                   product
    uintx G1HeapWastePercent                        = 5                                   product
    uintx G1MixedGCCountTarget                      = 8                                   product
     intx G1RSetRegionEntries                       = 0                                   product
    uintx G1RSetScanBlockSize                       = 64                                  product
     intx G1RSetSparseRegionEntries                 = 0                                   product
     intx G1RSetUpdatingPauseTimePercent            = 10                                  product
     intx G1RefProcDrainInterval                    = 10                                  product
    uintx G1ReservePercent                          = 10                                  product
    uintx G1SATBBufferEnqueueingThresholdPercent    = 60                                  product
     intx G1SATBBufferSize                          = 1024                                product
     intx G1UpdateBufferSize                        = 256                                 product
     bool G1UseAdaptiveConcRefinement               = true                                product
    uintx GCDrainStackTargetSize                    = 64                                  product
    uintx GCHeapFreeLimit                           = 2                                   product
    uintx GCLockerEdenExpansionPercent              = 5                                   product
     bool GCLockerInvokesConcurrent                 = false                               product
    uintx GCLogFileSize                             = 8192                                product
    uintx GCPauseIntervalMillis                     = 0                                   product
    uintx GCTaskTimeStampEntries                    = 200                                 product
    uintx GCTimeLimit                               = 98                                  product
    uintx GCTimeRatio                               = 99                                  product
    uintx HeapBaseMinAddress                        = 2147483648                          pd product
     bool HeapDumpAfterFullGC                       = false                               manageable
     bool HeapDumpBeforeFullGC                      = false                               manageable
     bool HeapDumpOnOutOfMemoryError                = false                               manageable
    ccstr HeapDumpPath                              =                                     manageable
    uintx HeapFirstMaximumCompactionCount           = 3                                   product
    uintx HeapMaximumCompactionInterval             = 20                                  product
    uintx HeapSizePerGCThread                       = 87241520                            product
     bool IgnoreEmptyClassPaths                     = false                               product
     bool IgnoreUnrecognizedVMOptions               = false                               product
    uintx IncreaseFirstTierCompileThresholdAt       = 50                                  product
     bool IncrementalInline                         = true                                C2 product
    uintx InitialBootClassLoaderMetaspaceSize       = 4194304                             product
    uintx InitialCodeCacheSize                      = 2555904                             pd product
    uintx InitialHeapSize                          := 266338304                           product
    uintx InitialRAMFraction                        = 64                                  product
    uintx InitialSurvivorRatio                      = 8                                   product
    uintx InitialTenuringThreshold                  = 7                                   product
    uintx InitiatingHeapOccupancyPercent            = 45                                  product
     bool Inline                                    = true                                product
    ccstr InlineDataFile                            =                                     product
     intx InlineSmallCode                           = 2000                                pd product
     bool InlineSynchronizedMethods                 = true                                C1 product
     bool InsertMemBarAfterArraycopy                = true                                C2 product
     intx InteriorEntryAlignment                    = 16                                  C2 pd product
     intx InterpreterProfilePercentage              = 33                                  product
     bool JNIDetachReleasesMonitors                 = true                                product
     bool JavaMonitorsInStackTrace                  = true                                product
     intx JavaPriority10_To_OSPriority              = -1                                  product
     intx JavaPriority1_To_OSPriority               = -1                                  product
     intx JavaPriority2_To_OSPriority               = -1                                  product
     intx JavaPriority3_To_OSPriority               = -1                                  product
     intx JavaPriority4_To_OSPriority               = -1                                  product
     intx JavaPriority5_To_OSPriority               = -1                                  product
     intx JavaPriority6_To_OSPriority               = -1                                  product
     intx JavaPriority7_To_OSPriority               = -1                                  product
     intx JavaPriority8_To_OSPriority               = -1                                  product
     intx JavaPriority9_To_OSPriority               = -1                                  product
     bool LIRFillDelaySlots                         = false                               C1 pd product
    uintx LargePageHeapSizeThreshold                = 134217728                           product
    uintx LargePageSizeInBytes                      = 0                                   product
     bool LazyBootClassLoader                       = true                                product
     intx LiveNodeCountInliningCutoff               = 40000                               C2 product
     bool LogCommercialFeatures                     = false                               product
     intx LoopMaxUnroll                             = 16                                  C2 product
     intx LoopOptsCount                             = 43                                  C2 product
     intx LoopUnrollLimit                           = 60                                  C2 pd product
     intx LoopUnrollMin                             = 4                                   C2 product
     bool LoopUnswitching                           = true                                C2 product
     bool ManagementServer                          = false                               product
    uintx MarkStackSize                             = 4194304                             product
    uintx MarkStackSizeMax                          = 536870912                           product
    uintx MarkSweepAlwaysCompactCount               = 4                                   product
    uintx MarkSweepDeadRatio                        = 1                                   product
     intx MaxBCEAEstimateLevel                      = 5                                   product
     intx MaxBCEAEstimateSize                       = 150                                 product
    uintx MaxDirectMemorySize                       = 0                                   product
     bool MaxFDLimit                                = true                                product
    uintx MaxGCMinorPauseMillis                     = 4294967295                          product
    uintx MaxGCPauseMillis                          = 4294967295                          product
    uintx MaxHeapFreeRatio                          = 100                                 manageable
    uintx MaxHeapSize                              := 4261412864                          product
     intx MaxInlineLevel                            = 9                                   product
     intx MaxInlineSize                             = 35                                  product
     intx MaxJNILocalCapacity                       = 65536                               product
     intx MaxJavaStackTraceDepth                    = 1024                                product
     intx MaxJumpTableSize                          = 65000                               C2 product
     intx MaxJumpTableSparseness                    = 5                                   C2 product
     intx MaxLabelRootDepth                         = 1100                                C2 product
     intx MaxLoopPad                                = 11                                  C2 product
    uintx MaxMetaspaceExpansion                     = 5451776                             product
    uintx MaxMetaspaceFreeRatio                     = 70                                  product
    uintx MaxMetaspaceSize                          = 4294901760                          product
    uintx MaxNewSize                               := 1420296192                          product
     intx MaxNodeLimit                              = 75000                               C2 product
 uint64_t MaxRAM                                    = 0                                   pd product
    uintx MaxRAMFraction                            = 4                                   product
     intx MaxRecursiveInlineLevel                   = 1                                   product
    uintx MaxTenuringThreshold                      = 15                                  product
     intx MaxTrivialSize                            = 6                                   product
     intx MaxVectorSize                             = 32                                  C2 product
    uintx MetaspaceSize                             = 21807104                            pd product
     bool MethodFlushing                            = true                                product
    uintx MinHeapDeltaBytes                        := 524288                              product
    uintx MinHeapFreeRatio                          = 0                                   manageable
     intx MinInliningThreshold                      = 250                                 product
     intx MinJumpTableSize                          = 10                                  C2 pd product
    uintx MinMetaspaceExpansion                     = 339968                              product
    uintx MinMetaspaceFreeRatio                     = 40                                  product
    uintx MinRAMFraction                            = 2                                   product
    uintx MinSurvivorRatio                          = 3                                   product
    uintx MinTLABSize                               = 2048                                product
     intx MonitorBound                              = 0                                   product
     bool MonitorInUseLists                         = false                               product
     intx MultiArrayExpandLimit                     = 6                                   C2 product
     bool MustCallLoadClassInternal                 = false                               product
    uintx NUMAChunkResizeWeight                     = 20                                  product
    uintx NUMAInterleaveGranularity                 = 2097152                             product
    uintx NUMAPageScanRate                          = 256                                 product
    uintx NUMASpaceResizeRate                       = 1073741824                          product
     bool NUMAStats                                 = false                               product
    ccstr NativeMemoryTracking                      = off                                 product
     bool NeedsDeoptSuspend                         = false                               pd product
     bool NeverActAsServerClassMachine              = false                               pd product
     bool NeverTenure                               = false                               product
    uintx NewRatio                                  = 2                                   product
    uintx NewSize                                  := 88604672                            product
    uintx NewSizeThreadIncrease                     = 5320                                pd product
     intx NmethodSweepActivity                      = 10                                  product
     intx NmethodSweepCheckInterval                 = 5                                   product
     intx NmethodSweepFraction                      = 16                                  product
     intx NodeLimitFudgeFactor                      = 2000                                C2 product
    uintx NumberOfGCLogFiles                        = 0                                   product
     intx NumberOfLoopInstrToAlign                  = 4                                   C2 product
     intx ObjectAlignmentInBytes                    = 8                                   lp64_product
    uintx OldPLABSize                               = 1024                                product
    uintx OldPLABWeight                             = 50                                  product
    uintx OldSize                                  := 177733632                           product
     bool OmitStackTraceInFastThrow                 = true                                product
ccstrlist OnError                                   =                                     product
ccstrlist OnOutOfMemoryError                        =                                     product
     intx OnStackReplacePercentage                  = 140                                 pd product
     bool OptimizeFill                              = true                                C2 product
     bool OptimizePtrCompare                        = true                                C2 product
     bool OptimizeStringConcat                      = true                                C2 product
     bool OptoBundling                              = false                               C2 pd product
     intx OptoLoopAlignment                         = 16                                  pd product
     bool OptoScheduling                            = false                               C2 pd product
    uintx PLABWeight                                = 75                                  product
     bool PSChunkLargeArrays                        = true                                product
     intx ParGCArrayScanChunk                       = 50                                  product
    uintx ParGCDesiredObjsFromOverflowList          = 20                                  product
     bool ParGCTrimOverflow                         = true                                product
     bool ParGCUseLocalOverflow                     = false                               product
    uintx ParallelGCBufferWastePct                  = 10                                  product
    uintx ParallelGCThreads                         = 10                                  product
     bool ParallelGCVerbose                         = false                               product
    uintx ParallelOldDeadWoodLimiterMean            = 50                                  product
    uintx ParallelOldDeadWoodLimiterStdDev          = 80                                  product
     bool ParallelRefProcBalancingEnabled           = true                                product
     bool ParallelRefProcEnabled                    = false                               product
     bool PartialPeelAtUnsignedTests                = true                                C2 product
     bool PartialPeelLoop                           = true                                C2 product
     intx PartialPeelNewPhiDelta                    = 0                                   C2 product
    uintx PausePadding                              = 1                                   product
     intx PerBytecodeRecompilationCutoff            = 200                                 product
     intx PerBytecodeTrapLimit                      = 4                                   product
     intx PerMethodRecompilationCutoff              = 400                                 product
     intx PerMethodTrapLimit                        = 100                                 product
     bool PerfAllowAtExitRegistration               = false                               product
     bool PerfBypassFileSystemCheck                 = false                               product
     intx PerfDataMemorySize                        = 32768                               product
     intx PerfDataSamplingInterval                  = 50                                  product
    ccstr PerfDataSaveFile                          =                                     product
     bool PerfDataSaveToFile                        = false                               product
     bool PerfDisableSharedMem                      = false                               product
     intx PerfMaxStringConstLength                  = 1024                                product
     intx PreInflateSpin                            = 10                                  pd product
     bool PreferInterpreterNativeStubs              = false                               pd product
     intx PrefetchCopyIntervalInBytes               = 576                                 product
     intx PrefetchFieldsAhead                       = 1                                   product
     intx PrefetchScanIntervalInBytes               = 576                                 product
     bool PreserveAllAnnotations                    = false                               product
    uintx PretenureSizeThreshold                    = 0                                   product
     bool PrintAdaptiveSizePolicy                   = false                               product
     bool PrintCMSInitiationStatistics              = false                               product
     intx PrintCMSStatistics                        = 0                                   product
     bool PrintClassHistogram                       = false                               manageable
     bool PrintClassHistogramAfterFullGC            = false                               manageable
     bool PrintClassHistogramBeforeFullGC           = false                               manageable
     bool PrintCodeCache                            = false                               product
     bool PrintCodeCacheOnCompilation               = false                               product
     bool PrintCommandLineFlags                     = false                               product
     bool PrintCompilation                          = false                               product
     bool PrintConcurrentLocks                      = false                               manageable
     intx PrintFLSCensus                            = 0                                   product
     intx PrintFLSStatistics                        = 0                                   product
     bool PrintFlagsFinal                          := true                                product
     bool PrintFlagsInitial                         = false                               product
     bool PrintGC                                   = false                               manageable
     bool PrintGCApplicationConcurrentTime          = false                               product
     bool PrintGCApplicationStoppedTime             = false                               product
     bool PrintGCCause                              = true                                product
     bool PrintGCDateStamps                         = false                               manageable
     bool PrintGCDetails                            = false                               manageable
     bool PrintGCID                                 = false                               manageable
     bool PrintGCTaskTimeStamps                     = false                               product
     bool PrintGCTimeStamps                         = false                               manageable
     bool PrintHeapAtGC                             = false                               product rw
     bool PrintHeapAtGCExtended                     = false                               product rw
     bool PrintHeapAtSIGBREAK                       = true                                product
     bool PrintJNIGCStalls                          = false                               product
     bool PrintJNIResolving                         = false                               product
     bool PrintOldPLAB                              = false                               product
     bool PrintOopAddress                           = false                               product
     bool PrintPLAB                                 = false                               product
     bool PrintParallelOldGCPhaseTimes              = false                               product
     bool PrintPromotionFailure                     = false                               product
     bool PrintReferenceGC                          = false                               product
     bool PrintSafepointStatistics                  = false                               product
     intx PrintSafepointStatisticsCount             = 300                                 product
     intx PrintSafepointStatisticsTimeout           = -1                                  product
     bool PrintSharedArchiveAndExit                 = false                               product
     bool PrintSharedDictionary                     = false                               product
     bool PrintSharedSpaces                         = false                               product
     bool PrintStringDeduplicationStatistics        = false                               product
     bool PrintStringTableStatistics                = false                               product
     bool PrintTLAB                                 = false                               product
     bool PrintTenuringDistribution                 = false                               product
     bool PrintTieredEvents                         = false                               product
     bool PrintVMOptions                            = false                               product
     bool PrintVMQWaitTime                          = false                               product
     bool PrintWarnings                             = true                                product
    uintx ProcessDistributionStride

以上是关于jvm 性能调优工具之 jinfo命令详解的主要内容,如果未能解决你的问题,请参考以下文章

jvm性能监控故障处理命令行工具详解(jpsjstatjinfojmapjhatjstack)(宝藏博文)

JVM调优常用指令之jinfo

Java故障分析基础

Java生产环境下性能监控与调优详解

jvm 性能调优工具之 jmap

jvm 性能调优工具之 jcmd