Java之最大堆内存设置(-Xmx)

问题现象

在程序启动时,无法启动服务,查看Windows事件日志,发现如下错误信息:

Could not initialize the java virtual machine.

问题原因

该问题的是由于JVM -Xmx设置的太大引起的。

解决方案

那么-Xmx设置多少服务才可以启动呢?
-Xmx的最大值根据运行环境的不同而有所差异,具体可以使用java -Xmx2048m -version来测试,如果使用该命令后,正常返回版本信息,则说明可以支持2048MB最大堆内存的申请,但是上线是多少呢?那么使用上述命令不断的试探,当不能正常返回版本信息时,那么就是说设置值超过了JDK支持的最大堆内存支持。
32位的JDK和64位的JDK支持的最大堆内存(-Xmx)是不同的,理论上,64位的JDK对于设置-Xmx是没有限制的,但32位的JDK有所限制,一般上线是1.5G左右,实际环境需要使用上述命令来试探。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值