JVM常用配置参数
TFdream opened this issue · comments
睿驰 commented
可以参考 江南白衣 《关键业务系统的JVM参数推荐》:http://calvin1978.blogcn.com/?p=1602
另外,唯品会 开源的 vjtools 里面有个 jvm-options shell脚本,可以根据当前机器配置 自动输出jvm启动参数,强烈推荐!
PerfMa 是由 前阿里技术专家 李嘉鹏(寒泉子) 联合创立的公司,专注于性能评测与调优、故障根因定位与解决。公司网站:https://opts.console.perfma.com/
截图看一下:
JVM参数
-XX 参数被称为不稳定参数,此类参数的设置很容易引起JVM性能上的差异。
不稳定参数语法规则:
1. 布尔类型
-XX:+<option> '+'表示启用该选项
-XX:-<option> '-'表示关闭该选项
例如, jdk8中关闭UseAdaptiveSizePolicy策略,JVM增加参数:
-XX:-UseAdaptiveSizePolicy -XX:SurvivorRatio=8
2. 数字类型
-XX:<option>=<number>
可跟随单位,例如:'m'或'M'表示兆字节;'k'或'K'千字节;'g'或'G'千兆字节。32K与32768是相同大小的。
3. 字符串类型
-XX:<option>=<string>
通常用于指定一个文件、路径或一系列命令列表。例如:-XX:HeapDumpPath=./dump.core
示例
使用 ParallelGC(吞吐量优先):
-Xms2G -Xmx2G -XX:+PrintCommandLineFlags -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseParallelGC
使用CMS 垃圾收集器(尽量缩短GC停顿时间):
-Xms2G -Xmx2G -XX:+UseParNewGC -XX:+UseConcMarkSweepGC
使用G1收集器:
-Xms2G -Xmx2G -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:NewRatio=1
jvm启动参数
选项 | 默认值 | 描述 |
---|---|---|
-verbose:gc | 表示输出虚拟机中GC的详细情况 | |
-Xms | 默认为物理内存的1/64 | 初始大小内存, 等价于-XX:InitialHeapSize |
-Xmx | 默认为物理内存的1/4 | 最大分配内存,等价于-XX:MaxHeapSize |
-Xss | 默认512K~1024K | 设置单个线程栈的大小,等价于-XX:ThreadStackSize |
-Xmn | 设置年轻代大小 | |
-XX:NewRatio | 默认-XX:NewRatio=2(即年轻代为老年代的1/2) | 配置年轻代与老年代在堆结构中的占比 |
-XX:SurvivorRatio | 默认-XX:SurvivorRatio=8 | 设置新生代中eden和S0/S1空间的比例 |
-XX:PermSize | 表示JVM初始分配的永久代(方法区)的容量 | |
-XX:MaxPermSize | 大部分情况下这个参数默认为64M | 表示JVM允许分配的永久代(方法区)的最大容量,必须以M为单位 |
-XX:MetaspaceSize | 设置初始元空间大小 | |
-XX:MaxMetaspaceSize | 设置最大的元内存空间 | |
-XX:MaxTenuringThreshold | 默认为15 | 设置垃圾在年轻代的最大年龄 |
-XX:+PrintCommandLineFlags | 查看默认设置收集器类型 | |
-XX:-PrintGCDetails | Java1.4引入,默认关闭 | 打印GC回收的详细信息 |
-XX:+HeapDumpOnOutOfMemoryError | 当抛出OOM时执行HeapDump | |
-XX:+HeapDumpPath | 指定HeapDump的文件路径和目录 |
垃圾收集器相关参数:
选项 | 描述 | 默认值 |
---|---|---|
-XX:+UseSerialGC | ||
-XX:+UseParallelGC | ||
-XX:+UseParNewGC | 设置年轻代为并行收集,可与CMS收集同时使用JDK5.0以上 | |
-XX:ParallelGCThreads | 并行收集器的线程数 | |
-XX:+UseParallelOldGC | ||
-XX:+UseConcMarkSweepGC | ||
-XX:+UseG1GC | 使用G1垃圾收集器 |