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服务器。我尝试了一些步骤,但找不到正确的解决方案。
答案 0 :(得分:1)
您可以尝试增加eclipse的内存,可以在le eclipse.ini文件(靠近eclipse可执行文件)中或在命令行参数中进行此操作: -Xms256m -Xmx16348m
答案 1 :(得分:1)
请使用以下设置为永久位置-Xms1024m -Xmx1024m -XX:PermSize=512m -XX:MaxPermSize=512m -XX:-UseGCOverheadLimit
答案 2 :(得分:0)
崩溃的是JBoss(不是Eclipse)。因此,增加Eclipse的内存是徒劳的! (实际上,这可能会使情况变得更糟。)
要注意的第二件事是,本机分配请求中的空间不足,因此增加常规堆的大小将无济于事。如下所示的选项可能无济于事! (实际上,它们可能会使情况变得更糟。)
-Xms1024m -Xmx1024m -XX:-UseGCOverheadLimit
要注意的第三件事是您的JVM没有PermGen空间,因此可以通过以下方式摆弄PermGen的大小
-XX:PermSize=512m -XX:MaxPermSize=512m
是徒劳的。 (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要求操作系统提供更多的内存,并且操作系统说“不!”。我可以提供两种可能的解释:
可能有一个按进程的“ ulimit”,这限制了进程的大小。您的JVM请求超出了该限制。
操作系统可能已用完虚拟地址空间或可映射的虚拟内存。前者不太可能。后者通常是由于您的操作系统没有足够的RAM和/或交换空间而出现的。如果您在一个虚拟机上运行,而该虚拟机...不足以拥有足够的内存资源,那么这种情况也可能发生。
现在看来,这可能是在JVM试图增长Java堆时发生的。但是无论哪种方式,问题都不在于Java堆的大小。