JVM常用虚拟机命令汇总
概述
本文主要说明一些 JVM 启动命令的作用以及使用方法。
在 Java 程序启动时,我们可以通过加入参数来让虚拟机打印一些虚拟机参数。
-XX:+PrintFlagsInitial
:打印虚拟机的初始化参数(也就是XXX的默认值)-XX:+PrintFlagsFinal
:打印虚拟机的参数最终生效的的值-XX:+PrintCommandLineFlags
:打印命令行中加入的参数
如果对某个参数有兴趣的话,直接百度一下这个参数,大部分都讲的不错。
垃圾收集器相关
下面参数都是在 server 模式下运行测试的。
- 使用 ParNew + CMS 收集器:
-XX:+UseParNewGC -XX:+UseMarkSweepGC
- 使用 Serial + Serial Old 收集器:
-XX:+UseSerialGC
- 使用 Parallel Scavenge + Parallel Old 收集器:
-XX:+UseParallelGC -XX:+UseParallelOldGC
- 使用 Serial + CMS 收集器:ERROR!!!
- 使用 G1 收集器:
-XX:+UseG1GC
通用参数
-XX:PretenureSizeThreshold=0
:对象的大小如果大于这个值的话,会直接在老年代中分配。如果是0的话,表示所有对象都在Eden去分配。
ParNew 收集器相关
-XX:ParallelGCThreads
:限制垃圾收集的线程数。
Parallel Scavenge 收集器相关
-XX:MaxGCPauseMillis
:控制最大垃圾收集停顿时间。-XX:GCTimeRatio
:直接设置吞吐量大小。
CMS 收集器相关
-XX:+UseCMSCompactAtFullCollection
:使用并发收集器时,开启对老年代的压缩,默认是 true。-XX:CMSFullGCsBeforeCompaction=0
:在开启对老年代压缩的情况下,设置多少次 Full GC 后,对老年代进行压缩。-XX:CMSInitiatingOccupancyFraction=90
:用来设置 CMS 垃圾收集器的触发百分比,太高容易造成 “Concurrent Mode Failure” 异常,太低的话,会有频繁的老年代 GC 出现。
内存参数相关
-Xms1g
:设置虚拟机的初始内存,默认是物理内存的 1/64。-Xmx1g
:设置虚拟机的最大可用内存,默认是物理内存的 1/4。-Xmn512m
:设置新生代的大小。-XX:MetaspaceSize=128m
:默认是21m,调整 MetaSpace 的大小。-Xss1m
:设置每个线程堆栈的大小,虚拟机的最小值限制为 160k,如果小于这个值,则会报错:The stack size specified is too small, Specify at least 160k
。-XX:NewRatio=2
:设置新生代和老年代的比值,默认是2,即如果堆是300兆,则年轻代占100兆。-XX:SurvivorRatio=8
:设置新生代中 Eden 区与 Survivor 区的比值,默认为8,即 Eden 占 8 份,S1 占 1 份,S2 占 1 份。如果新生代时10兆,则 Eden 区占 8 兆,其余两个各占 1 兆。-XX:MetaspaceSize=100m
设置元空间大小,默认是21兆左右,-XX:+UseAdpptiveSizePoliy
:使并行收集器自动选择年轻代和老年代的大小,以及 Survivor 区的比例,我的环境中默认是false。
GC日志相关
-XX:+PrintGC
:打印简单的 GC 日志。-XX:+PrintGCDetails
:打印详细的 GC 日志。-XX:+PrintGCTimeStamps
:打印自虚拟机启动以来所经过的时间。-XX:+PrintGCApplicationConcurrentTime
:打印每次垃圾回收前,程序未中断的执行时间。-XX:+PrintGCApplicationStoppedTime
:打印垃圾回收期间程序暂停的时间。-XX:+PrintHeapAtGC
:在发生 GC 时打印出堆栈详情。
------------------------------我是博客签名------------------------------
座右铭:不要因为知识简单就忽略,不积跬步无以至千里。
版权声明:自由转载-非商用-非衍生-保持署名。
本作品采用知识共享署名 4.0 国际许可协议进行许可。
----------------------------------------------------------------------
座右铭:不要因为知识简单就忽略,不积跬步无以至千里。
版权声明:自由转载-非商用-非衍生-保持署名。
本作品采用知识共享署名 4.0 国际许可协议进行许可。
----------------------------------------------------------------------