出现java.lang.OutOfMemoryError异常时,常使用的方法便是将例如以下配置语句:
-Xms512m -Xmx512m -Xss1024k -XX:MaxNewSize=256M -XX:MaxPermSize=256M
加在MyEclipse中的JDK的Optional Java VM arguments里面。然而久而久之easy混淆或忘却当中參数的含义,以下就简单的将这些參数的意义记录一下,以便日后能够參考。
直接看以下的表格吧(并不全面)。
分类 | 选项 | 说明 |
---|---|---|
堆空间 | -Xms | 启动JVM时的初始堆大小 |
-Xmx | 堆空间最大值 | |
新生代空间 | -XX:NewRatio | 新生代与老年代的比例 |
-XX:NewSize | 新生代大小 | |
-XX:SurvivorRation | Eden区域SurvivorRation区的比例 | |
永久代空间 | -XX:PermSize | 启动JVM时的初始永久代大小 |
-XX:MaxPermSize | 永久代空间最大值 |
以上的參数主要用于GC性能调优。很多其它的信息请參考”Java GC专家系列”系列文章或《Java 性能》《Java HotspotTM 虚拟机内存管理》等书籍。