jinfo是什么,可以干什么?
jinfo全称Configuration Info for Java作用是实时查看和调整虚拟机各项参数。
使用jps命令的-v参数可以查看虚拟机启动时显式指定的参数列表。
注意先 jps -l 查出进程id
相关命令查询
查看所有参数
jinfo 20220
查询CMS的配置
jinfo -flag CMSInitiatingOccupancyFraction 20220
查看jvm的参数
jinfo -flags 20220
查看java系统参数
jinfo -sysprops 20220
查看是否打开GC及详情
jinfo -flag PrintGC 20220
jinfo -flag PrintGCDetails 20220
打开gc打印
jinfo -flag +PrintGC 20220
再次查看
最后
jinfo在排查jvm问题和日常查看jvm配置的时候常用,所以用好该命令可以有助日后对jvm排查的掌握。
并且jinfo可以动态的来配置jvm的参数,这样极大方便虚拟机的实时调试,不需要再重新启动的时候配置,并且也可以快速进行验证,非常方便实用。
JVM Troubleshooting命令-jinfo
概述
用来查看正在运行的Java应用程序的扩展参数,支持在运行时,修改部分参数。
命令格式
jinfo [ option ] pid
jinfo [ option ] executable core
jinfo [ option ] [ servier-id ] remote-hostname-or-IP
- option : 命令行功能选项
- pid : 进程id
- executable : 生成可执行的core dump文件
- core : 要打印配置信息的核心文件
- remote-hostname-or-IP : 远程调试服务器主机名或IP地址
- servier-id : 在同一个远程主机上运行多个调试服务器时使用的可选唯一ID
查看最大内存: jinfo -flag MaxHeapSize pid
查看垃圾回收器 : jinfo -flag UseParallelGC pid
功能选项
- 无参数 : 以key=value的方式输出全部的参数和系统属性
- -flag 参数名 : 输出指定的参数的值
如jinfo -flag PrintGC 8520显示PrintGC参数状态
- -flag [+|-] 参数名 : 启用或禁用指定参数的功能(参数必须是布尔型的)
如jinfo -flag -PrintGC 8520关闭PrintGC功能
如jinfo -flag +PrintGC 8520打开PrintGC功能
- -flag name=value : 设置参数name值为value
- -flags : 输出传递给JVM的参数
- -sysprops : 以key-value的方式打印java系统属性
- -h : 打印帮助信息
- -help : 打印帮助信息
不是所有参数都可以修改的, 哪些参数可以修改的,可以使用下面命令查询:
java -XX:+PrintFlagsFinal -version | grep manageable
以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/qq_16498553/article/details/120600396