Java 应用程序运行时的'Cannot allocate memory' (errno=12)' 错误



在运行分布式应用程序时,我在服务器和工作节点上收到很多以下错误:

Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00007f4f8c800000, 549453824, 2097152, 0) failed; error='Cannot allocate memory' (errno=12)

大多数情况下,该过程会继续并按预期完成,但有时该过程也会失败。

我正在用java -Xms512M -Xmx50G -cp myjar.jar myclass.Main调用我的应用程序

节点有 128 GB 的 RAM,其中大约 120 GB 可用。

我正在使用Oracle JVM:

$ java -version
java version "1.7.0_45"
Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)

这些消息是什么意思,我怎样才能摆脱它们?

正如鸭嘴兽在对我问题的评论中所建议的那样,我将Java降级到1.7.0_41版本。不幸的是,问题仍然存在。

我甚至更进一步地回到了 1.7.0_25 版,显然这解决了错误。我尝试了很多次,但错误消息没有再出现一次。

相关内容

最新更新