首页 > 解决方案 > 当 -XMX 参数试图占用大部分可用的主内存时会发生什么?

问题描述

这里我知道如果 -Xmx 参数超过了设备的可用内存,那么我们会得到一个错误。

在此处输入图像描述

这很好,但我想了解如果我将 70% 的主内存分配给 JVM 并且程序刚刚达到 65% 并且现在机器无法为 JVM 分配更多内存,因为内存已被使用,会发生什么。会OutOfMemoryError 被抛出吗?

标签: javaout-of-memory

解决方案


我认为它会 OutOfMemoryError,因为 -xmx 128m 参数告诉 JVM 如果内存空闲,则最多可以使用 128MB 内存用于堆,否则抛出异常。


推荐阅读