分享

JVM启动报错: Could not reserve enough space for object heap error

 老星果子 2017-10-23

首先了解一下参数的含义:

参数 含义
-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,要么减小要创建的这个数组大小。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多