java分析工具系列4:jinfo(实时的调整和查看虚拟机信息)

一、简介:

jinfo 是 JDK 自带的命令,可以用来查看正在运行的 java 应用程序的扩展参数,包括Java System属性和JVM命令行参数;也可以动态的修改正在运行的 JVM 一些参数。当系统崩溃时,jinfo可以从core文件里面知道崩溃的Java应用程序的配置信息
二、使用:
 

pid :对应jvm的进程id

option:

  • no option 输出全部的参数和系统属性
  • -flag name 输出对应名称的参数
  • -flag [+|-]name 开启或者关闭对应名称的参数
  • -flag name=value 设定对应名称的参数
  • -flags 输出全部的参数
  • -sysprops 输出系统属性

示例一: no option

命令:jinfo pid
描述:输出当前 jvm 进程的全部参数和系统属性


示例二: -flag name

命令:jinfo -flag name pid
描述:输出对应名称的参数

 

使用该命令,可以查看指定的 jvm 参数的值。如:查看当前 jvm 进程是否开启打印 GC 日志。

示例三:-flag [+|-]name

命令:jinfo -flag [+|-]name pid
描述:开启或者关闭对应名称的参数

使用 jinfo 可以在不重启虚拟机的情况下,可以动态的修改 jvm 的参数。尤其在线上的环境特别有用。

使用如下:

 

示例四:-flag name=value

命令:jinfo -flag name=value pid
描述:修改指定参数的值。

同示例三,但示例三主要是针对 boolean 值的参数设置的。
如果是设置 value值,则需要使用 name=value 的形式。

使用如下:

注意事项 :jinfo虽然可以在java程序运行时动态地修改虚拟机参数,但并不是所有的参数都支持动态修改

示例五: -flags

命令:jinfo -flags pid
描述:输出全部的参数

示例六:-sysprops

命令:jinfo -sysprops pid
描述:输出当前 jvm 进行的全部的系统属性

作者:jijs
链接:https://www.jianshu.com/p/8d8aef212b25

原文地址:https://www.cnblogs.com/XueTing/p/13941002.html