常用 JVM 启动参数
-verbose
java -verbose [:class|gc|jni] 在输出设备上显示虚拟机运行信息。
- -verbose:class:监视输出运行期间的类加载情况
- -verbose:gc:监视输出运行期间的内存回收 GC 情况
- -verbose:jni:监视输出 native 方法调用的相关情况,一般用于诊断 jni 调用错误信息。
堆设置
- **-Xms:** 初始堆大小
- **-Xmx:** 最大堆大小
- **-XX:NewSize=n:** 设置年轻代大小
- **-XX:NewRatio=n:** 设置年轻代和年老代的比值。如:为 3,表示年轻代与年老代比值为 1:3,年轻代占整个年轻代年老代和的 1/4
- **-XX:SurvivorRatio=n:** 年轻代中 Eden 区与两个 Survivor 区的比值。注意 Survivor 区有两个。如:3,表示 Eden:Survivor=3:2,一个 Survivor 区占整个年轻代的 1/5
- **-XX:MaxPermSize=n:** 设置持久代大小
收集器设置
- **-XX:+UseSerialGC:** 设置串行收集器
- **-XX:+UseParallelGC:** 设置并行收集器
- **-XX:+UseParalledlOldGC:** 设置并行年老代收集器
- **-XX:+UseConcMarkSweepGC:** 设置并发收集器
垃圾回收统计信息
- -XX:+PrintGC
- -XX:+PrintGCDetails
- -XX:+PrintGCTimeStamps
- -Xloggc:filename
并行收集器设置
- **-XX:ParallelGCThreads=n:** 设置并行收集器收集时使用的 CPU 数。并行收集线程数。
- **-XX:MaxGCPauseMillis=n:** 设置并行收集最大暂停时间
- **-XX:GCTimeRatio=n:** 设置垃圾回收时间占程序运行时间的百分比。公式为 1/(1+n)
并发收集器设置
- **-XX:+CMSIncrementalMode:** 设置为增量模式。适用于单 CPU 情况。
- **-XX:ParallelGCThreads=n:** 设置并发收集器年轻代收集方式为并行收集时,使用的 CPU 数。并行收集线程数。
相关文章