Java 堆大小 : error when setting it too large

标签 java heap-memory

我的程序基本上需要大量内存。但是,出于某种原因,当我尝试将最大堆空间设置为 1.5GB 以上时,java 给我一个错误。即运行

java -Xmx1582m [my program]

没关系,但是

java -Xmx1583m [my program]

给出错误

Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.

我在 Windows 命令行和 Eclipse 中都遇到了同样的错误。

这是我的系统配置:

Windows 7(64 位)

英特尔酷睿 2 四核 CPU

安装内存:8.00 GB

Java 版本 1.6.0

奇怪的是,即使我运行的是 64 位操作系统和 8 GB RAM,我也只能设置 1.5GB 内存。有办法解决这个问题吗?

最佳答案

可能的情况是,虽然您的操作系统 是 64 位的,但您的 JVM 不是。打开命令行并键入 java -version 将为您提供详细的版本信息,这应该表明您安装的 JVM 是 32 位还是 64 位版本。

64 位 JVM 应该没有更高内存限制的问题。

关于Java 堆大小 : error when setting it too large,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3459990/

相关文章:

java - Eclipse 3.5 中的 FreeMarker 编辑器给出非法参数异常

java - Twitter4j TwitterStream 或 BufferReading 导致 java.lang.OutOfMemoryError : Java Heap Space

java - Spark 内存分数与年轻一代/老一代 java 堆拆分

java - Guava CheckedFuture<X,Y> 映射到 CheckedFuture <Z,Y>,无阻塞

java - 根据元素对数组进行分组

java - Spring Security 不限制访问

java - H2 UDF 类路径

c - 执行 objdump 时没有堆栈或堆

c++ - LocalAlloc 与 GlobalAlloc 与 malloc 与 new

Tomcat 堆使用行为