相关疑难解决方法(0)

Windows XP上的Java最大内存

我总是能够为在32位Windows XP(Java 1.4,1.5和1.6)上运行的Java SE分配1400兆字节.

java -Xmx1400m ...
Run Code Online (Sandbox Code Playgroud)

今天我在使用Java 1.5_16和1.6.0_07的新Windows XP机器上尝试了相同的选项并得到错误:

Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.
Run Code Online (Sandbox Code Playgroud)

通过反复试验,我可以在这台机器上分配1200兆字节.

任何想法为什么一台机器将允许1400和另一台只有1200?

编辑:该机器有4GB的RAM,大约3.5GB,Windows可以识别.

java memory windows

102
推荐指数
6
解决办法
14万
查看次数

64位JVM限制为300GB内存?

我试图在集群计算环境(运行CentOS版本6.2 Final的IBM LSF)上运行Java应用程序,它可以为我提供高达1TB的RAM空间.

我可以创建一个具有高达300GB最大内存(Xmx)的JVM,虽然我需要更多内容(如果需要,我可以提供详细信息).

但是,使用Xmx选项创建具有超过300GB最大内存的JVM似乎是不可能的.更具体地说,我收到了经典的错误消息:

VM初始化期间发生错误.

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

我的(64位)JVM的详细信息如下:

OpenJDK运行时环境(IcedTea6 1.10.6)(rhel-1.43.1.10.6.el6_2-x86_64)

OpenJDK 64位服务器VM(内置20.0-b11,混合模式)

我也尝试过使用Java 7 64位JVM,但我遇到了完全相同的问题.

此外,我尝试创建一个JVM来运行HelloWorld.jar,但是如果你要求超过-Xmx300G,JVM创建仍然会失败,所以我认为它与特定应用程序没有任何关系.


有谁知道为什么我不能创建超过300G的最大内存的JVM?

任何人都可以建议解决方案/解决方法吗?

java jvm memory-management cluster-computing

59
推荐指数
3
解决办法
4398
查看次数

Java拒绝启动 - 无法为对象堆保留足够的空间

背景

我们有大约20个Linux刀片池.有些正在运行Suse,有些正在运行Redhat.ALL共享NAS空间,其中包含以下3个文件夹:

  • / NAS/app/java - 指向Java JDK安装的符号链接.目前版本为1.5.0_10
  • / NAS/app/lib - 指向我们的应用程序版本的符号链接.
  • / NAS/data - 写入输出的目录

我们所有的机器都有2个处理器(超线程),4GB物理内存和4GB交换空间.我们将每台机器在给定时间可处理的"作业"数量限制为6(此数字可能需要更改,但这不会进入当前问题,因此请暂时忽略它).

我们的一些工作设置最大堆大小为512mb,其他一些保留最大堆大小为2048mb.同样,我们意识到如果在堆大小设置为2048的同一台机器上启动了6个作业,我们可以查看可用内存,但据我们所知,这还没有发生.

问题

有一段时间,作业将立即失败,并显示以下消息:

Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.
Run Code Online (Sandbox Code Playgroud)

我们曾经在同一台机器上同时运行太多工作.这个问题很少发生(可能每月一次),我们只是重新启动它,一切都会好的.

这个问题最近变得更糟.我们所有请求最大堆大小为2048m的作业几乎每次都会立即失败,需要在完成之前重新启动几次.

我们已经去了各个机器,并尝试使用相同的结果手动执行它们.

调试

事实证明,问题只存在于我们的SuSE盒子中.它更频繁发生的原因是因为我们一直在添加更多的机器,而新的机器是SuSE.

SuSE盒子上的'cat/proc/version'给我们:

Linux version 2.6.5-7.244-bigsmp (geeko@buildhost) (gcc version 3.3.3 (SuSE Linux)) #1 SMP Mon Dec 12 18:32:25 UTC 2005
Run Code Online (Sandbox Code Playgroud)

RedHat盒子上的'cat/proc/version'给我们:

Linux version 2.4.21-32.0.1.ELsmp (bhcompile@bugs.build.redhat.com) (gcc version 3.2.3 20030502 (Red Hat Linux 3.2.3-52)) #1 SMP …
Run Code Online (Sandbox Code Playgroud)

java linux memory heap jvm

49
推荐指数
4
解决办法
16万
查看次数

在Intellij IDEA中不断获得Gradle错误"无法为对象堆保留足够的空间"

所以我的内存分配有问题.有时候它有效,有时却没有.我已经阅读过这个帖子并多次尝试了这个建议.有时候-Xms512m -Xmx768m工作有时候-Xms256m -Xmx512m.我厌倦了在Build, Execution, Deployment > Build Tools > Gradle > Gradle VM选项设置下在IntelliJ中调整此设置.有没有设置可以一劳永逸地解决这个问题?

我的Windows 7计算机上有16GB的RAM,我正在运行IntelliJ IDEA EAP 14 build 138.2210.3,64位版本.Android Gradle构建插件v0.12.

我怀疑gradle没有在64位模式下运行,否则它将有大约7 GB的可用内存.为什么不利用这个呢?

编辑:

我在Windows 10下使用cordova 5.1.1Visual Studio 2015中遇到了同样的错误.请参阅下面的解决方案

android intellij-idea gradle cordova visual-studio-2015

29
推荐指数
3
解决办法
3万
查看次数

指定的初始和最大堆大小不兼容

当我运行一个有NLP库的java类时,我得到了这个错误....

Error occurred during initialization of VM
Incompatible initial and maximum heap sizes specified
Run Code Online (Sandbox Code Playgroud)

任何想法我怎么能解决这个错误:)

java netbeans nlp jar

22
推荐指数
1
解决办法
7万
查看次数

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

我在32位Windows和4 GB RAM上运行Java7,但是:

java -Xmx4G -Xms4G -jar Minecraft.jar 
java -Xmx3G -Xms3G -jar Minecraft.jar 
java -Xmx2G -Xms2G -jar Minecraft.jar
Run Code Online (Sandbox Code Playgroud)

......仍然无效.错误:

初始化VM时 出错无法
为对象堆保留足够的空间
错误:无法创建Java虚拟机.
错误:发生了致命异常.程序将会退出.

java -Xmx1G -Xms1G -jar Minecraft.jar工作中.为什么?

java jvm minecraft

20
推荐指数
5
解决办法
28万
查看次数

Play Framework - 无法为对象堆保留足够的空间

我对我的游戏项目做了一些修改,当我尝试运行它时,我得到了错误.

>play run
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 occured. Program will exit.
Run Code Online (Sandbox Code Playgroud)

这是个常见的问题吗?我对游戏框架相当缺乏经验,但我之前已多次运行我的项目而没有遇到此错误.

编辑:有关Java版本的信息.

>java -version
java version "1.7.0_11"
Java(TM) Runtime Environment (build 1.7.0_11-b21)
Java HotSpot(TM) Client VM (build 23.6-b04, mixed mode, sharing)
Run Code Online (Sandbox Code Playgroud)

java memory heap-memory java-7 playframework-2.0

12
推荐指数
1
解决办法
6181
查看次数

无法保留堆空间

我正在使用soap ui 5.0.0开源.我正在通过ant运行soapui testcases来获取Junit报告

build.xml文件:

<project basedir="." default="testreport" name="FCMRestAPIAutomation">
<target name="SoapUI">  
    <exec dir="." executable="C:\Program Files (x86)\SmartBear\SoapUI-5.0.0\bin\testrunner.bat">
    <arg line="-r -j -o -f 'C:\Users\sn3020722\Desktop\Notification\New folder' -sFirstLoginTest 'C:\Users\sn3020722\Desktop\Notification\New folder\FCM Project.xml'"></arg>
</exec>
</target>
<target name="testreport" depends="SoapUI">
<junitreport todir="C:\Users\sn3020722\Desktop\Notification\New folder\API">
 <fileset dir="C:\Users\sn3020722\Desktop\Notification\New folder\API">
<include name="TEST-*.xml"/>
</fileset>
<report format="frames" todir="C:\Users\sn3020722\Desktop\Notification\New folder\reports\html">
 </report>
 </junitreport>
 </target>
</project>  
Run Code Online (Sandbox Code Playgroud)

命令提示符出错:

SoapUI:
     [exec] Error: Could not create the Java Virtual Machine.
     [exec] Error occurred during initialization of VMError: A fatal exception h
as occurred. Program will exit.
     [exec]
     [exec] Could not …
Run Code Online (Sandbox Code Playgroud)

java

8
推荐指数
1
解决办法
799
查看次数

Gradle 同步失败:向后分支 70 上存在未初始化的对象

我的 android 应用程序无法同步 gradle,在构建日志中出现以下错误:

Uninitialized object exists on backward branch 70
Exception Details:
  Location:
    com/android/build/gradle/tasks/BuildArtifactReportTask.newArtifact(Lcom/android/build/api/artifact/BuildableArtifact;)Lcom/android/build/gradle/tasks/BuildArtifactReportTask$BuildableArtifactData; @119: goto
  Reason:
    Error exists in the bytecode
  Bytecode:
    0000000: bb00 f459 2bb9 0139 0100 c000 6b2b b901
    0000010: 3d01 0001 b901 4302 0059 1301 45b8 0148
    0000020: c000 374d 3a0d 3a0c 3a0b 2c4e bb00 6859
    0000030: 2c10 0ab8 003d b700 69c0 006b 3a04 2db9
    0000040: 0054 0100 3a05 1905 b900 5a01 0099 002d
    0000050: 1905 b900 5e01 003a 0619 0419 06c0 014a
    0000060: 3a07 …
Run Code Online (Sandbox Code Playgroud)

android gradle build.gradle

5
推荐指数
1
解决办法
4112
查看次数

在 Spring Boot 应用程序中上传 1+ GB 文件时出现“java.lang.OutOfMemoryError:Java 堆空间”

我完全按照本教程中的说明构建了 Spring Boot 应用程序来上传单个文件。我所做的更改如下所述。

我已添加以下属性application.properties

spring.http.multipart.max-file-size=2048MB
spring.http.multipart.max-request-size=2048MB
Run Code Online (Sandbox Code Playgroud)

然后,我将以下 jvm 参数添加到项目运行配置中,以将 jvm 堆大小限制为 2GB,如本答案中所述:

-Xmx2048m
Run Code Online (Sandbox Code Playgroud)

接下来,我还确保我的 Spring Boot 应用程序针对 64 位 Java 运行,因为32 位 Java似乎需要“连续”堆空间来保留。

但当我尝试上传大文件时,它仍然给我同样的错误。

首先我尝试上传 20MB 的文件。有效。接下来我继续尝试价值 1GB 的 ubuntu iso,但它一直给我以下异常:

java.lang.OutOfMemoryError: Java heap space
    at java.util.Arrays.copyOf(Arrays.java:3236) ~[na:1.8.0_74]
    at java.io.ByteArrayOutputStream.grow(ByteArrayOutputStream.java:118) ~[na:1.8.0_74]
    at java.io.ByteArrayOutputStream.ensureCapacity(ByteArrayOutputStream.java:93) ~[na:1.8.0_74]
    at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:153) ~[na:1.8.0_74]
    at org.springframework.util.StreamUtils.copy(StreamUtils.java:128) ~[spring-core-4.3.5.RELEASE.jar:4.3.5.RELEASE]
    at org.springframework.util.FileCopyUtils.copy(FileCopyUtils.java:109) ~[spring-core-4.3.5.RELEASE.jar:4.3.5.RELEASE]
    at org.springframework.util.FileCopyUtils.copyToByteArray(FileCopyUtils.java:156) ~[spring-core-4.3.5.RELEASE.jar:4.3.5.RELEASE]
    at org.springframework.web.multipart.support.StandardMultipartHttpServletRequest$StandardMultipartFile.getBytes(StandardMultipartHttpServletRequest.java:291) ~[spring-web-4.3.5.RELEASE.jar:4.3.5.RELEASE]
    at com.digitate.ignio.spring_boot_hdfs_file_upload.controller.UploadController.singleFileUpload(UploadController.java:73) ~[classes/:na]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_74]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_74]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_74]
    at …
Run Code Online (Sandbox Code Playgroud)

java spring tomcat spring-boot

5
推荐指数
1
解决办法
2万
查看次数

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

嗨,我从jdeveloper工作室部署项目时遇到以下错误.

 [scac] Error occurred during initialization of VM
 [scac] Could not reserve enough space for object heap
Run Code Online (Sandbox Code Playgroud)

任何人都可以建议如何解决这个问题?

jdeveloper

1
推荐指数
1
解决办法
1万
查看次数