版权声明:本文为博主原创文章,转载请标明出处。 https://blog.csdn.net/qq2430/article/details/82154442
概要
jinfo [ options ] [ pid]
- options:命令行选项。
- pid:进程ID。
用于输出JAVA配置信息,配置信息包括Java System属性和JVM的参数。也可以在运行时修改部分参数。本文使用的是JDK10,不同版本间可能存在差异。
OPTIONS
不添加options的时候,默认查看jvm参数和系统参数。
[root@izbp1chtb8a3vd2mzvuawlz ~]# jinfo 4306
Java System Properties:
#Sat Sep 01 13:27:19 CST 2018
awt.toolkit=sun.awt.X11.XToolkit
java.specification.version=10
file.encoding.pkg=sun.io
sun.cpu.isalist=
sun.jnu.encoding=UTF-8
java.class.path=../workspace/analysis/target/analysis-0.0.1-SNAPSHOT.jar
java.vm.vendor="Oracle Corporation"
sun.arch.data.model=64
catalina.useNaming=false
java.vendor.url=http\://java.oracle.com/
user.timezone=Asia/Shanghai
java.vm.specification.version=10
os.name=Linux
sun.java.launcher=SUN_STANDARD
user.country=US
sun.boot.library.path=/usr/local/jdk-10.0.2/lib
sun.java.command=../workspace/analysis/target/analysis-0.0.1-SNAPSHOT.jar
jdk.debug=release
sun.cpu.endian=little
user.home=/root
user.language=en
java.specification.vendor=Oracle Corporation
java.version.date=2018-07-17
java.home=/usr/local/jdk-10.0.2
file.separator=/
java.vm.compressedOopsMode=32-bit
line.separator=\n
java.specification.name=Java Platform API Specification
java.vm.specification.vendor=Oracle Corporation
java.awt.graphicsenv=sun.awt.X11GraphicsEnvironment
java.awt.headless=true
java.protocol.handler.pkgs=org.springframework.boot.loader
sun.management.compiler=HotSpot 64-Bit Tiered Compilers
java.runtime.version=10.0.2+13
user.name=root
path.separator=\:
os.version=3.10.0-862.2.3.el7.x86_64
java.runtime.name=Java(TM) SE Runtime Environment
file.encoding=UTF-8
spring.beaninfo.ignore=true
java.vm.name=Java HotSpot(TM) 64-Bit Server VM
java.vendor.version=18.3
java.vendor.url.bug=http\://bugreport.java.com/bugreport/
java.io.tmpdir=/tmp
catalina.home=/tmp/tomcat.135283677550490481.8000
java.version=10.0.2
user.dir=/usr/local
os.arch=amd64
java.vm.specification.name=Java Virtual Machine Specification
PID=4306
java.awt.printerjob=sun.print.PSPrinterJob
sun.os.patch.level=unknown
catalina.base=/tmp/tomcat.135283677550490481.8000
java.library.path=/usr/java/packages/lib\:/usr/lib64\:/lib64\:/lib\:/usr/lib
java.vendor=Oracle Corporation
java.vm.info=mixed mode
java.vm.version=10.0.2+13
sun.io.unicode.encoding=UnicodeLittle
java.class.version=54.0
VM Flags:
-XX:CICompilerCount=2 -XX:CMSAbortablePrecleanWaitMillis=50 -XX:CMSWaitDuration=2000 -XX:-HeapDumpAfterFullGC -XX:InitialHeapSize=20971520 -XX:MaxHeapSize=20971520 -XX:MaxNewSize=6946816 -XX:MinHeapDeltaBytes=196608 -XX:NewSize=6946816 -XX:NonNMethodCodeHeapSize=5824844 -XX:NonProfiledCodeHeapSize=122916698 -XX:OldSize=14024704 -XX:ProfiledCodeHeapSize=122916698 -XX:ReservedCodeCacheSize=251658240 -XX:+SegmentedCodeCache -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseSerialGC
VM Arguments:
jvm_args: -Xms20m -Xmx20m
java_command: ../workspace/analysis/target/analysis-0.0.1-SNAPSHOT.jar
java_class_path (initial): ../workspace/analysis/target/analysis-0.0.1-SNAPSHOT.jar
Launcher Type: SUN_STANDARD
-flags:查看jvm参数
[root@izbp1chtb8a3vd2mzvuawlz ~]# jinfo -flags 4306
VM Flags:
-XX:CICompilerCount=2 -XX:CMSAbortablePrecleanWaitMillis=50 -XX:CMSWaitDuration=2000 -XX:+HeapDumpAfterFullGC -XX:InitialHeapSize=20971520 -XX:MaxHeapSize=20971520 -XX:MaxNewSize=6946816 -XX:MinHeapDeltaBytes=196608 -XX:NewSize=6946816 -XX:NonNMethodCodeHeapSize=5824844 -XX:NonProfiledCodeHeapSize=122916698 -XX:OldSize=14024704 -XX:ProfiledCodeHeapSize=122916698 -XX:ReservedCodeCacheSize=251658240 -XX:+SegmentedCodeCache -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseSerialGC
-flag < name >查看指定name的jvm参数
可以使用java -XX:+PrintFlagsFinal -version|grep manageable查看哪些jvm参数可以被修改。
[root@izbp1chtb8a3vd2mzvuawlz ~]# java -XX:+PrintFlagsFinal -version|grep manageable
intx CMSAbortablePrecleanWaitMillis = 100 {manageable} {default}
intx CMSTriggerInterval = -1 {manageable} {default}
intx CMSWaitDuration = 2000 {manageable} {default}
bool HeapDumpAfterFullGC = false {manageable} {default}
bool HeapDumpBeforeFullGC = false {manageable} {default}
bool HeapDumpOnOutOfMemoryError = false {manageable} {default}
ccstr HeapDumpPath = {manageable} {default}
uintx MaxHeapFreeRatio = 70 {manageable} {default}
uintx MinHeapFreeRatio = 40 {manageable} {default}
bool PrintClassHistogram = false {manageable} {default}
bool PrintConcurrentLocks = false {manageable} {default}
java version "10.0.2" 2018-07-17
Java(TM) SE Runtime Environment 18.3 (build 10.0.2+13)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.2+13, mixed mode)
[root@izbp1chtb8a3vd2mzvuawlz ~]# jinfo -flag HeapDumpAfterFullGC 4306
-XX:+HeapDumpAfterFullGC
-flag [ +|- ] < name >启用或者禁用指定name的jvm参数
[root@izbp1chtb8a3vd2mzvuawlz ~]# jinfo -flag HeapDumpAfterFullGC 4306
-XX:+HeapDumpAfterFullGC
[root@izbp1chtb8a3vd2mzvuawlz ~]# jinfo -flag -HeapDumpAfterFullGC 4306
[root@izbp1chtb8a3vd2mzvuawlz ~]# jinfo -flag HeapDumpAfterFullGC 4306
-XX:-HeapDumpAfterFullGC
- -flag < name > = < value >修改指定name的jvm参数值
[root@izbp1chtb8a3vd2mzvuawlz ~]# jinfo -flag CMSAbortablePrecleanWaitMillis 4306
-XX:CMSAbortablePrecleanWaitMillis=100
[root@izbp1chtb8a3vd2mzvuawlz ~]# jinfo -flag CMSAbortablePrecleanWaitMillis=50 4306
[root@izbp1chtb8a3vd2mzvuawlz ~]# jinfo -flag CMSAbortablePrecleanWaitMillis 4306
-XX:CMSAbortablePrecleanWaitMillis=50
-sysprops:查看系统参数
[root@izbp1chtb8a3vd2mzvuawlz ~]# jinfo -sysprops 4306
Java System Properties:
#Sat Sep 01 13:26:02 CST 2018
awt.toolkit=sun.awt.X11.XToolkit
java.specification.version=10
file.encoding.pkg=sun.io
sun.cpu.isalist=
sun.jnu.encoding=UTF-8
java.class.path=../workspace/analysis/target/analysis-0.0.1-SNAPSHOT.jar
java.vm.vendor="Oracle Corporation"
sun.arch.data.model=64
catalina.useNaming=false
java.vendor.url=http\://java.oracle.com/
user.timezone=Asia/Shanghai
java.vm.specification.version=10
os.name=Linux
sun.java.launcher=SUN_STANDARD
user.country=US
sun.boot.library.path=/usr/local/jdk-10.0.2/lib
sun.java.command=../workspace/analysis/target/analysis-0.0.1-SNAPSHOT.jar
jdk.debug=release
sun.cpu.endian=little
user.home=/root
user.language=en
java.specification.vendor=Oracle Corporation
java.version.date=2018-07-17
java.home=/usr/local/jdk-10.0.2
file.separator=/
java.vm.compressedOopsMode=32-bit
line.separator=\n
java.specification.name=Java Platform API Specification
java.vm.specification.vendor=Oracle Corporation
java.awt.graphicsenv=sun.awt.X11GraphicsEnvironment
java.awt.headless=true
java.protocol.handler.pkgs=org.springframework.boot.loader
sun.management.compiler=HotSpot 64-Bit Tiered Compilers
java.runtime.version=10.0.2+13
user.name=root
path.separator=\:
os.version=3.10.0-862.2.3.el7.x86_64
java.runtime.name=Java(TM) SE Runtime Environment
file.encoding=UTF-8
spring.beaninfo.ignore=true
java.vm.name=Java HotSpot(TM) 64-Bit Server VM
java.vendor.version=18.3
java.vendor.url.bug=http\://bugreport.java.com/bugreport/
java.io.tmpdir=/tmp
catalina.home=/tmp/tomcat.135283677550490481.8000
java.version=10.0.2
user.dir=/usr/local
os.arch=amd64
java.vm.specification.name=Java Virtual Machine Specification
PID=4306
java.awt.printerjob=sun.print.PSPrinterJob
sun.os.patch.level=unknown
catalina.base=/tmp/tomcat.135283677550490481.8000
java.library.path=/usr/java/packages/lib\:/usr/lib64\:/lib64\:/lib\:/usr/lib
java.vendor=Oracle Corporation
java.vm.info=mixed mode
java.vm.version=10.0.2+13
sun.io.unicode.encoding=UnicodeLittle
java.class.version=54.0
-h | -helps:查看帮助信息
[root@izbp1chtb8a3vd2mzvuawlz ~]# jinfo -help
Usage:
jinfo <option> <pid>
(to connect to a running process)
where <option> is one of:
-flag <name> to print the value of the named VM flag
-flag [+|-]<name> to enable or disable the named VM flag
-flag <name>=<value> to set the named VM flag to the given value
-flags to print VM flags
-sysprops to print Java system properties
<no option> to print both VM flags and system properties
-h | -help to print this help message