探讨一个“无法创建JVM”的问题

记录一个今天遇到的问题。

Java版本:1.4

运行设置: -Xms1G -Xmx4G

报错:

[ Incompatible initial and maximum heap sizes specified: ]
[ initial size:1073741824 bytes, maximum heap size: 67108864 bytes ]
[ The initial heap size must be less than or equal to the maximum heap size. ]
[ The default initial and maximum heap sizes are 4194304 and 67108864 bytes. ]
无法创建Java虚拟机。

疑问:执行语句中设置初始化内存1G,最大内存4G,但是错误提示中为什么最大内存是64M?

尝试1:固定Xmx为4G

1、Xms修改为512M,1G,2G,3G均报相同的错误
2、Xms修改为4G(与Xmx相同),正常运行
3、Xms修改为小于等于64M,正常运行

尝试2:固定Xms为1g,修改Xmx

1、Xmx4g,报之前的错误
2、Xmx4000M,正常运行
3、Xmx3g,正常运行
4、Xmx3500M,如下报错:

[ Unable to mmap Java heap of requested size, perhaps the maxdata value is too large - see Java README.HTML for more information. ] 
JVMDG218: JVM is not fully initialized - will not do dump processing.

此程序一般肯定会用掉至少1G内存,设置为64M会使得GC太过频繁,所以目前Xms设置为4G来用,就是不理解为什么设置在大于64M小于4G的时候会创建JVM失败,并且提示最大内存是64M。
望高手指导,谢谢~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值