出現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 虛擬機內存管理》等書籍。