Java:无法为对象堆保留足够的空间

时间:2013-05-17 09:42:08

标签: java heap

尝试使用1G内存运行java时出现以下错误。

C:\>java -verbose -Xmx1G

当我运行它时,我收到以下消息:

Error occurred during initialization of VM
Could not reserve enough space for object heap
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

它的工作正常,最大内存设置为768M。我使用的是Java 7(版本1.7.0_15-b03)。

这是我系统的信息

Total Physical Memory:     3,510 MB
Available Physical Memory: 2,393 MB
Virtual Memory: Max Size:  2,048 MB
Virtual Memory: Available: 1,965 MB
Virtual Memory: In Use:    83 MB
OS: Windows XP.

1 个答案:

答案 0 :(得分:1)

堆不仅依赖于可用的RAM或物理内存。 32位JVM的最大理论堆限制为4G。由于各种其他限制,例如可用交换,内核地址空间使用,内存碎片和VM开销,实际上限制可能会低得多。