概述
jinfo命令用于打印指定Java进程或核心文件或远程调试服务器的Java配置信息。这些配置信息包括Java系统属性和Java虚拟机(JVM)命令行标志,常用场景:
- 查看Java虚拟机参数
常用指令
jinfo [-option] <pid> // 打印某个进程的堆栈信息
其他常用指令如下:
option参数如下:
指令 | 说明 |
---|---|
no-option | 打印命令行标志和系统属性的【name-value】 |
-flag name | 打印指定命令行标志的【name-value】对 |
-flag [+/-]name | 启用或禁用指定的命令行标志。+表示启用,- 表示禁用 |
-flag name=value | 将指定的命令行标志设置为指定的值,不是所有的flag都可以通过命令行改变 |
-flags | 打印传递给JVM的命令行标志 |
-sysprops | 以【name-value】对的形式打印Java系统属性 |
-h / -help | 打印帮助信息 |
示例
- jinfo < pid >
输出结果较多,暂时省略,可以看到上半部分打印的是Java的系统属性信息,然后打印的是JVM的flags,最后打印的命令行参数
- jinfo -flag MaxHeapSize < pid >
输出结果如下:
-
jinfo -flag +name < pid >
比如使用PrintGC参数,+号代表开启,-号代表关闭
-
jinfo -flag name=value < pid >
可以通过jmap修改某些VM参数
不过能修改的只有很小的部分:
-
jinfo -flags < pid >
只会打印出【VM flags】和【Command line】部分的参数
-
jinfo -sysprops < pid >
通过jinfo -sysprops pid命令不会打印【VM Flags】和【Command line】的参数,只会打印出【jinfo pid】打印的第一部分信息