如何查看JVM的扩展参数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何查看JVM的扩展参数相关的知识,希望对你有一定的参考价值。

为了分析和定位一个Java线上系统问题,我们需要查看JVM启动时的一些参数设置,例如:垃圾回收算法、堆大小等等。这些参数可能在启动脚本中明确指明,也可能采用默认值。在系统运行过程中其他人也许动态调整了系统参数。 如何实时查看正在运行的JVM的参数呢?

解决方案

可以采用jcmd来查看正在运行的JVM的参数。jcmd从JDK 7开始引入的一个JVM诊断命令行工具,可以向运行中的JVM发送诊断命令。

查看JVM进程的PID
$ jcmd -l
27940 sun.tools.jcmd.JCmd -l
24684 org.codehaus.plexus.classworlds.launcher.Launcher -Prun
23839 com.intellij.idea.Main
23951 org.jetbrains.idea.maven.server.RemoteMavenServer

查看进程24684的参数
jcmd 24684 VM.flags
24684:
-XX:InitialHeapSize=98566144 -XX:MaxHeapSize=1547698176 -XX:MaxNewSize=515899392 -XX:MinHeapDeltaBytes=524288 -XX:NewSize=1572864 -XX:OldSize=96993280 -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseParallelGC

堆大小设置,垃圾回收算法等一目了然。
参考技术A 查看JVM的扩展参数方法如下:
 在java进程后追加-X参数可看到对应的扩展参数,命令:java -X。
参考技术B java -X来看默认参数

以上是关于如何查看JVM的扩展参数的主要内容,如果未能解决你的问题,请参考以下文章

如何查看 JVM(?)内部。我可以在工作应用程序中分析方法、参数、返回值等吗?

查看JVM参数

linux查看jvm内存大小

如何设置myeclipse的jvm启动参数

JVM运行时数据区篇(堆空间扩展知识)

JVM jinfo命令(Java Configuration Info) 用法小结