背景
如何查看一个正在运行的Java程序中,它的某个JVM参数是否开启,具体值是多少?
正题
jps 和 jinfo
jps
jps
是用于查看有权访问的hotspot虚拟机的进程
jps命令格式:jps [ options ] [ hostid ]
[options]选项 :
-q:仅输出VM标识符,不包括classname,jar name,arguments in main method
-m:输出main method的参数
-l:输出完全的包名,应用主类名,jar的完全路径名
-v:输出jvm参数
-V:输出通过flag文件传递到JVM中的参数(.hotspotrc文件或-XX:Flags=所指定的文件
-Joption:传递参数到vm,例如:-J-Xms512m
jinfo
jinfo
全称Java Configuration Info
,主要作用是实时查看和调整JVM配置参数。
用法如下:
jinfo -flag 具体参数 java进程编号
jinfo -flags java进程编号
命令格式:
jinfo [ option ] pid
jinfo [ option ] executable core
jinfo [ option ] [ servier-id ] remote-hostname-or-IP
选项:
no-option
Prints both command-line flags and system property name-value pairs.
-flag name
Prints the name and value of the specified command-line flag.
-flag [+|-]name
enables or disables the specified Boolean command-line flag.
-flag name=value
Sets the specified command-line flag to the specified value.
-flags
Prints command-line flags passed to the JVM.
-sysprops
Prints Java system properties as name-value pairs.
-h
Prints a help message.
-help
Prints a help message.
直接使用Java命令
java -XX:+PrintFlagsInitial 查看初始参数
java -XX:+PrintFlagsFinal 查看修改后的参数 =表示没有改过 :=表示人为修改或者jvm修改过的 公式:java -XX:+PrintFlagsFinal -version
java -XX:+PrintCommandLineFlags 也是可以查看初始参数
除非注明,否则均为李锋镝的博客原创文章,转载必须以链接形式标明本文链接