There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (malloc) failed to allocate 1048576 bytes for AllocateHeap
# An error report file with more information is saved as:
# C:\jboss-eap-services-6.4.4\bin\hs_err_pid6632.log
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m;
support was removed in 8.0
对于上面的问题,我正在尝试启动jboss服务器。我尝试了一些步骤,但我无法找到正确的解决方案。
3条答案
按热度按时间ctehm74n1#
请使用以下设置为永久位置
-Xms1024m -Xmx1024m -XX:PermSize=512m -XX:MaxPermSize=512m -XX:-UseGCOverheadLimit
分配内存lnvxswe22#
你可以试着增加eclipse内存,你可以在le eclipse. ini文件中(接近eclipse可执行文件)或者在命令行参数中这样做:-256米宽-16348米宽
hgqdbh6s3#
崩溃的是JBoss(而不是Eclipse)。所以增加Eclipse的内存是徒劳的!(事实上,这可能会使事情变得更糟。)
第二件要注意的事情是,在本地分配请求中,您的空间已经用完,因此增加常规堆的大小将不会有帮助。类似以下的选项可能不会有帮助!(事实上,它们可能会使事情变得更糟。)
第三件需要注意的事情是,JVM没有PermGen空间,因此通过
是徒劳的。(这是
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0
的意思。)那么真实的的问题是什么呢?
您运行的是64位JRE,所以这不是架构问题。(在32位JRE上,JVM的地址空间有严格限制......)
实际上,这是JVM本身之外的问题。基本上,JVM要求操作系统提供更多的内存,而操作系统却说“不!"。我可以想到两种可能的解释:
1.可能存在每个进程的“ulimit”,它限制了进程大小。您的JVM请求超出了该限制。
1.操作系统可能已用完虚拟地址空间或可Map虚拟内存。前者不太可能。后者通常是因为您的操作系统没有足够的RAM和/或交换空间。如果您运行的虚拟机内存资源不足,也可能会发生这种情况。
现在看来,当JVM试图增大Java堆时,可能会发生这种情况。但无论如何,问题都不是Java堆的大小。