Jinfo是JDK提供的命令行工具,可以实时查看Java虚拟机的各种配置参数和系统属性。本文介绍了Java中jinfo命令的使用方法,有兴趣的朋友来看看吧。
目录
JIINFO命令介绍JIINFO命令参数-标志名称-标志[|-]名称-标志名称=值-标志-sysprops-h和-帮助结束
jinfo命令简介
J (Java虚拟机配置信息)是JDK提供的命令行工具,可以实时查看Java虚拟机的各种配置参数和系统属性。使用jps命令的-v参数来查看Java虚拟机启动时显式指定的配置参数,如果想要查看未显式指定的配置参数,可以使用jinfo命令来查看它们。另外,jinfo命令还可以查询Java虚拟机进程的System.getProperties()的内容。
在没有dbgeng.dll的Windows系统上,必须安装用于Windows的调试工具,以使jinfo命令正常工作,并且PATH环境变量应该包含jvm.dll的位置。
jinfo命令参数
命令语法:
Jinfo[选项] pid
命令参数描述:
选项的可选参数:j info命令。如果未指定此参数,jinfo命令将显示所有配置参数和系统属性。Pid:打印配置信息的Java虚拟机的进程id。
要获得正在运行的Java虚拟机进程的列表,可以使用ps命令(在Linux系统中)或tasklist命令(在Windows系统中)。如果Java虚拟机进程没有在单独的docker实例中运行,您可以使用jps命令。
option的参数是什么?让我们看一看。
-flag name
指定名称对应的配置参数,例如,检查简单GC日志模式(PrintGC)是否打开:
# Jinfo-标志打印GC 15729
-XX:-PrintGC
-flag [+|-]name
启用或禁用具有指定名称的参数,该名称必须是布尔类型。例如,打开简单GC日志模式:
# Jinfo-标志打印GC 15729
# Jinfo-标志打印GC 15729
-XX: PrintGC
例如,禁用简单GC日志模式:
# jinfo -flag -PrintGC 15729
# Jinfo-标志打印GC 15729
-XX:-PrintGC
-flag name=value
不需要重启Java虚拟机。将具有指定名称的参数修改为指定值。例如,修改的空闲堆空间的最小百分比是30%:
# Jinfo-flag MinHeapFreeRatio 15729
-XX:minheafpreeratio=40
# Jinfo-flag minheafpreeratio=30 15729
# Jinfo-flag MinHeapFreeRatio 15729
-XX:minheafpreeratio=30
当然,并不是所有的参数都可以这样修改,比如并发垃圾收集器使用的线程数(ConcGCThreads):
# Jinfo-flag congcthreads=5 15729
thread ' main ' com . sun . tools . attach . attachoperationfailedexception中出现异常:无法更改标志“ConcGCThreads”
位于sun . tools . attach . linuxvirtualmachine . execute(linuxvirtualmachine . Java:229)
位于sun . tools . attach . hotspot virtual machine . execute command(hotspot virtual machine . Java:261)
位于sun . tools . attach . hotspot virtual machine . set flag(hotspot virtual machine . Java:234)
位于sun . tools . Jinfo . Jinfo . flag(Jinfo . Java:134)
位于sun . tools . Jinfo . Jinfo . main(Jinfo . Java:81)
那么,哪些配置参数是可以动态修改的呢?我们可以找到被java -XX: PrintFlagsInitial命令标记为可管理的配置参数,运行结果如下图所示:
-flags
显示所有配置参数,例如:
#金佛-旗帜15729
正在附加到进程ID 15729,请稍候.
调试器已成功附加。
检测到服务器编译器。
JVM版本是25.251-b08
非默认VM标志:-XX:CICompilerCount=4-XX:congcthreads=2-XX:G1 heapregionsize=1048576-XX:initialhaepsize=1073741824-XX:MarkStackSize=4194304-XX:MaxHeapSize=1073741824-XX:MaxNewSize=536870912-XX:metaspace size=268435456-XX
命令行:-Xmx1g-Xms1g-xmn 512m-XX:survivor ratio=4-XX:MetaspaceSize=256m-XX:use G1 GC
-sysprops
以键值对的方式显示当前Java 语言(一种计算机语言,尤用于创建网站)语言(一种计算机语言,尤用于创建网站)虚拟机的全部的系统属性,比如:
# jinfo -sysprops 15729
正在附加到进程ID 15729,请稍候.
调试器已成功附加。
检测到服务器编译器。
虚拟机(Java Virtual Machine的缩写)版本是25.251-b08
java.runtime.name=Java(TM) SE运行时环境
java.vm.version=25.251-b08
星期日靴子。图书馆。路径=/usr/local/Java/JDK 1。8 .0 _ 251/JRE/lib/amd64
Java。协议。处理程序。pkgs=org。spring框架。靴子。装货设备
Java。供应商。URL=http://java.oracle.com/
供应商=甲骨文公司
path.separator=:
file.encoding.pkg=sun.io
Java。VM。name=Java HotSpot TM 64位服务器虚拟机
sun.os.patch.level=未知
星期日Java。launcher=SUN _标准
user.country=CN
Java。VM。规格。name=Java虚拟机规范
PID=15729
Java。运行时。版本=1。8 .0 _ 251-b08
Java。awt。图形env=sun。awt。X11图形环境
os.arch=amd64
Java。批准。dirs=/usr/local/Java/JDK 1。8 .0 _ 251/JRE/lib/已批准
line.separator=
.
-h 和 -help
显示金佛命令的帮助信息。
结尾
虽然金佛命令已经推出很久并且使用频率比较搞,但它仍然是一个"实验性质的,并且没有技术支持的"(实验性的和不受支持的)工具,日后可能会被转正,也有可能在某个JDK版本中无声无息地消失。所以,且用且珍惜吧。
到此这篇关于Java 语言(一种计算机语言,尤用于创建网站)语言(一种计算机语言,尤用于创建网站)的金佛命令使用详解的文章就介绍到这了,更多相关Javajinfo命令内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。