2.堆内存相关
2.1.显式指定堆内存–Xms和-Xmx
-Xms2G -Xmx5G
2.2.显式新生代内存(Young Generation)
1.通过-XX:NewSize和-XX:MaxNewSize指定
-XX:NewSize=256m
-XX:MaxNewSize=1024m
2.通过-Xmn
-Xmn256m
XX:NewRatio=
比如下面的参数就是设置新生代(包括Eden和两个Survivor区)与老年代的比值为1。也就是说:新生代与老年代所占比值为1:1,新生代占整个堆栈的 1/2。
-XX:NewRatio=1
2.3.显式指定永久代/元空间的大小
JDK 1.8 之前
-XX:PermSize=N //方法区 (永久代) 初始大小
-XX:MaxPermSize=N //方法区 (永久代) 最大大小,超过这个值将会抛出 OutOfMemoryError 异常:java.lang.OutOfMemoryError: PermGen
JDK 1.8 的时候,方法区(HotSpot 的永久代)被彻底移除了(JDK1.7 就已经开始了),取而代之是元空间,元空间使用的是本地内存。
-XX:MetaspaceSize=N //设置 Metaspace 的初始(和最小大小)
-XX:MaxMetaspaceSize=N //设置 Metaspace 的最大大小,如果不指定大小的话,随着更多类的创建,虚拟机会耗尽所有可用的系统内存。
3.垃圾收集相关
3.1.垃圾回收器
- 串行垃圾收集器
- 并行垃圾收集器
- CMS垃圾收集器
- G1垃圾收集器 ```lua -XX:+UseSerialGC -XX:+UseParallelGC -XX:+UseParNewGC -XX:+UseG1GC
<a name="VkeDL"></a>
### <br />3.2.GC记录
```lua
-XX:+UseGCLogFileRotation
-XX:NumberOfGCLogFiles=< number of log files >
-XX:GCLogFileSize=< file size >[ unit ]
-Xloggc:/path/to/gc.log