## **常见参数配置**
| 参数 | 说明 | 默认值 |
| --- | --- | --- |
| -XX:+PrintGC | 每次触发GC的时候打印相关日志 ||
| -XX:+PrintGCDetails | 更详细的GC日志 ||
| -XX:+UseSerialGC | 使用Serial 收集器 ||
| -Xms | 堆初始值 | 物理内存的1/64 |
| -Xmx | 堆最大值 | 物理内存的1/4 |
| -Xmn | 新生代最大值 |
| -XX:NewSize | 设置新生代大小 |
| -XX:MaxNewSize | 新生代最大值 |
| -XX:NewRatio=2 | 新生代:老年代 = 1:2 |
| -XX:SurvivorRatio=8 | eden:from:to = 8:1:1 ||
| -Xss | 每个线程的堆栈大小 ||
| -XX:MetaspaceSize | 元空间初始值 ||
| -XX:MaxMetaspaceSize | 元空间最大值 ||
实践中的参数配置
程序稳定运行后,可使用VisualVM进行Full GC,使用VisualVM gc插件或者jconsole查看内存使用情况。
| 空间 | 大小 |
| --- | --- |
| 堆 | 3-4倍full gc后的老年代空间占用量 |
| 新生代 | 1-1.5倍full gc后的老年代空间占用量 |
| 老年代 | 2-3倍full gc后的老年代空间占用量 |
| 元空间 | 1.2-1.5倍full gc后的元空间占用量 |
各个区间值的配置没有固定比例,根据实际情况灵活运用。