JVM监控及诊断工具-命令行篇--jinfo命令介绍

JVM监控及诊断工具-命令行篇02-jinfo:实时查看和修改JVM配置参数

  • [一 基本情况](#一 基本情况)
  • [二 基本语法](#二 基本语法)
    • 2.1查看
      • [jinfo -sysprops PID](#jinfo -sysprops PID)
      • [jinfo -flags PID](#jinfo -flags PID)
      • [jinfo -flag 具体参数 PID](#jinfo -flag 具体参数 PID)
    • 2.2修改
  • [三 拓展](#三 拓展)
    • [java -XX:+PrintFlagsInitial](#java -XX:+PrintFlagsInitial)
    • [java -XX:+PrintFlagsFinal](#java -XX:+PrintFlagsFinal)
    • [java -XX:+PrintCommandLineFlags](#java -XX:+PrintCommandLineFlags)
  • 上一篇:

一 基本情况

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

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

二 基本语法

2.1查看

jinfo -sysprops PID

可以查看由System.getProperties()取得的参数

jinfo -flags PID

查看曾经赋过值的一些参数

javascript 复制代码
JVM version is 25.111-b14
Non-default VM flags: -XX:-BytecodeVerificationLocal
-XX:-BytecodeVerificationRemote
-XX:CICompilerCount=4
-XX:InitialHeapSize=232783872
-XX:+ManagementServer
-XX:MaxHeapSize=3724541952
-XX:MaxNewSize=1241513984
-XX:MinHeapDeltaBytes=524288
-XX:NewSize=77594624
-XX:OldSize=155189248
-XX:TieredStopAtLevel=1
-XX:+UseCompressedClassPointers
-XX:+UseCompressedOops
-XX:+UseFastUnorderedTimeStamps
-XX:-UseLargePagesIndividualAllocation
-XX:+UseParallelGC
Command line:  -XX:TieredStopAtLevel=1
-Xverify:none
-Dspring.output.ansi.enabled=always
-javaagent:D:\DJWORK\09IDeal\ideal2021\IntelliJ IDEA 2021.2\lib\idea_rt.jar=3626:D:\DJWORK\09IDeal\ideal2021\IntelliJ IDEA 2021.2\bin
-Dcom.sun.management.jmxremote
-Dspring.jmx.enabled=true
-Dspring.liveBeansView.mbeanDomain
-Dspring.application.admin.enabled=true
-Dfile.encoding=UTF-8

jinfo -flag 具体参数 PID

查看某个java进程的具体参数的值

2.2修改

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

可以查看被标记为manageable的参数

javascript 复制代码
java -XX:+PrintFlagsFinal -version | grep manageable  
  • 针对boolean类型
javascript 复制代码
jinfo -flag [+|-]具体参数 PID
  • 针对非boolean类型
javascript 复制代码
jinfo -flag 具体参数=具体参数值 PID

三 拓展

java -XX:+PrintFlagsInitial

查看所有JVM参数启动的初始值

java -XX:+PrintFlagsFinal

查看所有JVM参数的最终值

java -XX:+PrintCommandLineFlags

查看那些已经被用户或者JVM设置过的详细的XX参数的名称和值

上一篇:

JVM监控及诊断工具-命令行篇-jstat命令介绍

相关推荐
她和夏天一样热19 小时前
【观后感】Java线程池实现原理及其在美团业务中的实践
java·开发语言·jvm
czlczl2002092521 小时前
深入解析 ThreadLocal:架构演进、内存泄漏与数据一致性分析
java·jvm·架构
亓才孓1 天前
封装类对象的缓存对象
java·jvm·缓存
廋到被风吹走1 天前
【Java】【JVM】性能监控与故障诊断
java·开发语言·jvm
廋到被风吹走1 天前
【Java】【JVM】ClassLoader机制解析
java·开发语言·jvm
春日见1 天前
强化学习第一讲:强化学习是什么,强化学习分类
开发语言·jvm·人工智能·python·学习·matlab·强化学习
麦兜*1 天前
【SprintBoot】自定义 Spring Boot Starter 从入门到精通:封装企业级通用组件的最佳实践
java·jvm·spring boot·后端·spring·spring cloud·maven
廋到被风吹走2 天前
【Java】【JVM】即时编译解析:C1/C2、分层编译、OSR与日志分析
java·开发语言·jvm
网小鱼的学习笔记2 天前
面试题1:==和equals的比较
java·jvm·面试
廋到被风吹走2 天前
【Java】【JVM】垃圾回收深度解析:G1/ZGC/Shenandoah原理、日志分析与STW优化
java·开发语言·jvm