当前位置: 首页 > 面试题库 >

无法为对象堆保留足够的空间来启动JVM

松锐藻
2023-03-14
问题内容

只是面临奇怪的问题。当我键入

java -version

我有

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

java -Xms64m -Xmx64m -version

这个命令工作正常

java version "1.6.0_24"
Java(TM) SE Runtime Environment (build 1.6.0_24-b07)
Java HotSpot(TM) Client VM (build 19.1-b02, mixed mode)

如果我将xms,xmx更改为128m,则会再次出现错误。

使用top命令,free -m我可以看到,我有超过192 MB的空闲空间,那么为什么我仍然收到此错误?

Mem:    262144k total,    64760k used,   197384k free,        0k buffers
Swap:        0k total,        0k used,        0k free,        0k cached

谢谢


问题答案:

您尝试在其上运行此计算机的机器似乎只有256 MB内存。

也许JVM试图分配一个大的,连续的64 MB内存块。可用的192 MB可能会分成较小的碎片,因此不会有连续的64 MB可用块分配。

尝试以较小的堆大小启动Java程序,例如:

java -Xms16m ...


 类似资料:
  • 问题内容: 每次尝试运行该程序时,我都会反复收到以下异常。 VM初始化期间发生错误 无法为对象堆保留足够的空间 无法创建Java虚拟机。 我试图增加虚拟内存(页面大小)和RAM大小,但无济于事。 如何消除此错误? 问题答案: 使用或任意数量)(或简称)运行JVM

  • 这是在“Gradlew Build”期间在Android Studio中发生的。 错误:“VM初始化时发生错误,无法为3174400KB对象堆保留足够的空间”(3.18GB) 项目文件夹本身只占用1.1GB,所以我不知道这是怎么可能的。 更新:这个问题似乎已经自行解决。

  • 我已经安装了Android Studio 1.1.0。我还没有做任何事情,比如启动新的Android应用程序或导入任何东西。不知何故,它试图构建一些东西,它抛出同步错误。 错误:无法启动守护进程。此问题可能是由于守护进程配置不正确造成的。例如,使用了一个无法识别的jvm选项。请参阅http://gradle.org/docs/2.2.1/userguide/gradle_daemon.html中关

  • 我试图为Android生成一个发布版本,但是在命令之后:“离子科尔多瓦构建 - 发布机器人”我有例外: 我试过这个:开始-

  • 所以我不知道我点击了什么,但在我点击之后,所有的东西,就像字面上所有的东西都停止工作了。 当前错误消息: 错误:无法启动后台进程。此问题可能是后台进程配置不正确造成的。例如,使用了一个无法识别的jvm选项。请参阅https://docs.gradle.org/5.4.1/userguide/gradle_daemon.html中关于后台进程的用户手册章节:进程命令行:C:\Program File

  • 当我运行时,每次尝试运行程序时,我都会反复遇到以下异常。 Liferay v6.1 CE 服务器 (Tomcat 7) 在本地主机上所需的多个端口(8005、8080、8009)已在使用中。服务器可能已在另一个进程中运行,或者系统进程可能正在使用该端口。要启动此服务器,您需要停止其他进程或更改端口号。 我试图增加我的虚拟内存(页面大小)和ram大小。但是现在不行了,我用的是win 7 64位,ja