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版的,大家可以自己百度一下。