eclipse /myeclipse 設定tomcat 的記憶體
調整jvm記憶體:
1. java.lang.OutOfMemoryError: Java heap space --- JVM Heap (堆) 溢位
JVM 在啟動的時候會自動設定 JVM Heap 的值, 其初始空間 (即 -Xms) 是實體記憶體個的1/64 ,最大空間(-Xmx) 不可超過實體記憶體。
可以利用JVM 提供的 -Xmn -Xms -Xmx 等選項可以進行設定。 Heap 的大小時 Young Generation 和 Tenured Generation 之和
在 JVM 中如果98% 的時間用於GC ,且可用的Heap size 不足2% 的時候將丟擲此異常資訊。
解決辦法: 手動設定 JVM Heap (堆)的大小
2. java.lang.OutOfMemoryError : PermGen space --- PremGen space 溢位。
PremGen space 的全稱是 Permanent Generation space ,時值記憶體的永久儲存區域。
為啥會記憶體溢位,這是由於這塊記憶體的主要是被JVM存放的Class 和 Meta資訊的,Class在被Load的時候被放入 PermGen space 區域,
它和存放Instance 的Heap區域不同 ,sun 的GC 不會在程式執行期對 PermGen space 進行清理,所以如果你的APP 會載入很多Class 的話,就可能出現
PermGen space 溢位
解決方法: 收送設定 MaxPermSize 大小
eclipse /myeclipse 中新增屬性鍵值對:
-Xms256
-Xmx512
-XX:PermSize=64M
-XX:MaxPermSize=128M
-Xms:java Heap初始大小。 預設是實體記憶體的1/64。
-Xmx : java Heap 最大值。 建議設定為實體記憶體的一半。 不可超過實體記憶體。
-XX:PermSize : 設定記憶體的永久儲存區初始大小 ,預設值為64M。
-XX:MaxPermSize : 設定記憶體的永久儲存區最大值 ,預設為64M 。