【基础+实战】JVM原理及优化系列之八:如何查看JVM参数配置?

1. 查看JAVA版本信息

2. 查看JVM运行模式

  在 $JAVA_HOME/jre/bin 下有 client 和 server 两个目录,分别代表 JVM 的两种运行模式。
client****运行模式 ,针对桌面应用,加载速度比server模式快10%,而运行速度为server模式的10分之一。client下默认的堆容量  -Xms1M -Xmx64M  
**  server****运行模式** ,针对服务器应用。server下默认的堆容量  -Xms128M -Xmx1024M 

通过  java -version  查看JVM的默认运行模式。

  通过  java -client -version  查看 JVM 的 client 运行模式环境。

  通过  java -server -version  查看 JVM 的 server 运行模式环境。

3. 查看标准选项

 

4. 查看非标准选项

5. 查看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

6. 根据JVM进程ID查看JVM设置

$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

7. 显示所有可设置参数及默认值

 

8. 显示所有可设置参数的当前值

$java -XX:+PrintFlagsFinal

可结合 -XX:+PrintFlagsInitial 与 -XX:+PrintFlagsFinal 对比设置前、设置后的差异,方便知道对那些参数做了调整

9. 显示出JVM所有跟默认值不同的参数及值

 

 

该专题是一个系列,参照了一系列JVM资料,对JVM基础知识做了摘要总结,并结合实战做了总结:

【基础+实战】JVM原理及优化系列之一:JVM体系结构

【基础+实战】JVM原理及优化系列之二:JVM内存管理

【基础+实战】JVM原理及优化系列之三:JVM垃圾收集器

【基础+实战】JVM原理及优化系列之四:JVM参数说明

【基础+实战】JVM原理及优化系列之五:JVM默认设置

【基础+实战】JVM原理及优化系列之六:JVM主要调优参数

【基础+实战】JVM原理及优化系列之七:JVM调优注意事项

【基础+实战】JVM原理及优化系列之八:如何查看JVM参数配置?

【基础+实战】JVM原理及优化系列之九:JVM监控、分析与故障处理实战

【基础+实战】JVM原理及优化系列之十:JVM内存泄漏专题实战

通览该系列文章之后,对JVM会有一个整体的认识,对于JVM问题排查和优化会有一定的帮助,如果想对JVM有更深入的理解和认知,建议深入看一下这本书《Java虚拟机:JVM高级特性与最佳实践(最新第二版)》,网上可以找到pdf版的,大家可以自己百度一下。

 

代码交流 2021