JVM啟動報錯: Could not reserve enough space for object heap error


首先了解一下參數的含義:

參數 含義
-Xms2G -Xmx2G 代表jvm可用的heap內存最小和最大
-XX:PermSize -XX:MaxPermSize 代表jvm的metadata內存的大小

解決問題:

  1. eclipse啟動報的錯是:

    Could not reserve enough space for object heap error 
    當前的配置是: 
    -Xms512M -Xmx1024M -XX:PermSize 512M

  2. 很多SO的答案是推薦使用JAVA_OPTION變量, 但有一個答案說的原因是:windows 7的32位進程獲取不了超過1200M的內存,這個答案覺得有點靠譜就去試了試。

  3. 下載安裝64bit的JDK,然后啟動果然沒有報錯。

附錄:

    1. 換成64位JDK的時候,發現jrebel不行了。搜了好久,官方論壇上給的一個答案是備份jrebel32.dll,然后將64位的jrebel64.dll改成jrebel32.dll. 試了可行.

    2. jvm out of memroy 報錯總結:

      • Java heap space: 增加-xmx
      • PermGen space: 增加-XX:PermSize
      • Requested array size exceeds VM limit: 錯誤的意思是創建數組的大小超過了heap的最大大小,所以解決辦法就是,要么增加-xmx,要么減小要創建的這個數組大小。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM