避免初始内存堆大小错误

nev*_*int 20 java memory-management

我使用以下命令运行Java代码:

$ java -Xms4G -Xmx4G myjavacode
Run Code Online (Sandbox Code Playgroud)

我的CPU的RAM容量是6GB.

但它总是无法执行给我这个错误消息:

Invalid initial heap size: -Xms5G
The specified size exceeds the maximum representable size.
Could not create the Java virtual machine
Run Code Online (Sandbox Code Playgroud)

有没有办法设置Java选项,以便我们可以执行代码?

kgi*_*kis 17

您已超过JVM的最大堆大小.这是JVM和OS相关的.在大多数32位系统中,无论可用的物理内存如何,最大值都是2Gb.

  • 在Windows 32位上,限制接近1.3 GB (3认同)
  • 我在具有 16GB RAM(14GB 空闲)的系统上收到错误“初始堆大小无效:-Xms256m -Xmx512m” (2认同)

bri*_*gge 11

默认情况下,Java将以32位模式运行.一定要给它-d64选项,使其进入64位模式.一旦进入64位模式,分配6GB JVM就不会有任何问题.

  • 你的意思是64位JVM默认也在32位模式下运行吗? (2认同)