JAVA无法创建大于1G内存的JVM
答案:2 悬赏:40 手机版
解决时间 2021-11-23 01:00
- 提问者网友:溺爱和你
- 2021-11-22 09:06
JAVA无法创建大于1G内存的JVM
最佳答案
- 五星知识达人网友:醉吻情书
- 2021-11-22 09:36
看报错你的JVM 已经超过2G了....追问那个内存刚刚是 2048M吧 你计算下?追答你这是边界操作吗?Xmx2048m ,最大 而jvm 初始化2048不是完全给你用的 有小部分肯定被占用的,你为什么要这么做呢追问我知道 但是不能使用的原因不在这
最后我发现我的java居然是32位的 换成64位的就好了
虽然你答案和解决问题无关 还是非常感谢你
最后我发现我的java居然是32位的 换成64位的就好了
虽然你答案和解决问题无关 还是非常感谢你
全部回答
- 1楼网友:酒安江南
- 2021-11-22 09:43
JVM管理的内存叫堆;在32Bit操作系统上有4G的限制,一般来说Windows下为2G,而Linux 下为3G;64Bit的就没有这个限制。
JVM初始分配的内存由-Xms指定,默认是物理内存的1/64但小于1G。
JVM最大分配的内存由-Xmx指定,默认是物理内存的1/4但小于1G。
默认空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制,可以由 -XX:MinHeapFreeRatio=指定。
默认空余堆内存大于70%时,JVM会减少堆直到-Xms的最小限制,可以由 -XX:MaxHeapFreeRatio=指定。
服务器一般设置-Xms、-Xmx相等以避免在每次GC后调整堆的大小,所以上面的两个参数没啥用。
这是我复制的一段,不太了解,希望能帮到你了。
JVM初始分配的内存由-Xms指定,默认是物理内存的1/64但小于1G。
JVM最大分配的内存由-Xmx指定,默认是物理内存的1/4但小于1G。
默认空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制,可以由 -XX:MinHeapFreeRatio=指定。
默认空余堆内存大于70%时,JVM会减少堆直到-Xms的最小限制,可以由 -XX:MaxHeapFreeRatio=指定。
服务器一般设置-Xms、-Xmx相等以避免在每次GC后调整堆的大小,所以上面的两个参数没啥用。
这是我复制的一段,不太了解,希望能帮到你了。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯