我总是能够为在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可以识别.
我试图在集群计算环境(运行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?
任何人都可以建议解决方案/解决方法吗?
我们有大约20个Linux刀片池.有些正在运行Suse,有些正在运行Redhat.ALL共享NAS空间,其中包含以下3个文件夹:
我们所有的机器都有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) 所以我的内存分配有问题.有时候它有效,有时却没有.我已经阅读过这个帖子并多次尝试了这个建议.有时候-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.1在Visual Studio 2015中遇到了同样的错误.请参阅下面的解决方案
当我运行一个有NLP库的java类时,我得到了这个错误....
Error occurred during initialization of VM
Incompatible initial and maximum heap sizes specified
Run Code Online (Sandbox Code Playgroud)
任何想法我怎么能解决这个错误:)
我在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工作中.为什么?
我对我的游戏项目做了一些修改,当我尝试运行它时,我得到了错误.
>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) 我正在使用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) 我的 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) 我完全按照本教程中的说明构建了 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) 嗨,我从jdeveloper工作室部署项目时遇到以下错误.
[scac] Error occurred during initialization of VM
[scac] Could not reserve enough space for object heap
Run Code Online (Sandbox Code Playgroud)
任何人都可以建议如何解决这个问题?
java ×8
jvm ×3
memory ×3
android ×2
gradle ×2
build.gradle ×1
cordova ×1
heap ×1
heap-memory ×1
jar ×1
java-7 ×1
jdeveloper ×1
linux ×1
minecraft ×1
netbeans ×1
nlp ×1
spring ×1
spring-boot ×1
tomcat ×1
windows ×1