JVM参数的含义
1.较为常用的参数,后续参数也可以在其中补充:
| 参数名称 | 含义 | 默认值 | 备注 |
|---|---|---|---|
| -Xms | 初始堆大小 | 物理内存的1/64(<1GB) | 默认(MinHeapFreeRatio参数可以调整)空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制. |
| -Xmx | 最大堆大小 | 物理内存的1/4<1GB) | 默认(MaxHeapFreeRatio参数可以调整)空余堆内存大于70%时,JVM会减少堆直到 -Xms的最小限制 |
| -XX:NewSize | 年轻代大小 | ||
| -XX:MaxNewSize | 年轻代最大值 | ||
| -Xss | 每个线程栈大小 | ||
| -XX:SurvivorRatio | Eden区与Survivor区的大小比值 | 设置为8,则两个Survivor区与一个Eden区的比值为2:8,一个Survivor区占整个年轻代的1/10 | |
| -Xss | 每个线程栈大小 |
2.JVM 日志打印参数
一般而言,我们分析JVM问题,也是和找寻常bug一样,需要一份可靠的日志分析文件,这类的文件,可以通过JVM参数进行配置
| 参数名称 | 含义 | 默认值 | 备注 |
|---|---|---|---|
| -XX:+PrintGCDetails | 打印详细日志信息,默认是打印在控制台中 | ||
| -Xloggc:gc.log | 把JVMlog日志信息指定打印在 gc.log的磁盘文件中 | ||
| -XX:+PrintGCTimeStamps | JVM log日志增加时间戳 |