如何查看已设置的JVM内部参数

70 阅读1分钟

1、使用java -XX:+PrintFlagsFinal命令:

这个命令会打印出JVM启动时的最终参数值。JVM在启动时会根据配置文件、命令行参数等多种因素来设置这些参数,PrintFlagsFinal命令将显示这些参数的最终值。

例如,要查看所有参数,可以执行:

java -XX:+PrintFlagsFinal -version

如果只想查看某个特定的参数,可以结合grep命令进行过滤,如:

java -XX:+PrintFlagsFinal -version | grep UseG1GC

2、使用jinfo命令:

jinfo是一个命令行工具,可以用来实时查看和修改JVM的配置参数。但是需要注意的是,并不是所有的参数都支持动态修改,只有被标记为manageable的flag才可以在运行时被修改。

要查看某个Java进程的所有参数,可以使用:

jinfo -flags <pid>

其中是Java进程的进程ID。可以使用jps命令来获取Java进程的进程ID。

要查看某个Java进程的某个具体参数的值,可以使用:

jinfo -flag 具体参数 <pid>

如果要修改参数(注意:只有被标记为manageable的参数才能被修改),可以使用:

对于boolean类型的值:

jinfo -flag +/-具体参数 <pid>

对于非boolean类型的值:

jinfo -flag 具体参数=具体参数值 <pid>

3、查看JVM的官方文档:

如果你使用的是特定的JDK版本,并且想知道某个参数的默认值和含义,可以查阅该版本的官方文档。例如,对于JDK 8,你可以访问Oracle的官方文档页面来查看参数信息