1. 程式人生 > >eclipse /myeclipse 設定tomcat 的記憶體

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 。