0

我使用 5 个节点执行我的程序,每个节点配备 6 核处理器和 8GB RAM。我将 process = 5 设置为每个节点将处理 1 个进程。在某些使用更多数据的情况下,我收到错误“java.lang.OutOfMemoryError: Java Heap Space”。我试图通过添加“-Xmx2g”来增加堆,但它显示“无法保留足够的空间”。这没有任何意义,因为我在每个节点中都有足够的 RAM。我只能将它设置为 <= 1GB,但我的程序需要的还不止这些。有人知道如何解决这个问题吗?(请注意,在多核模式下,增加堆空间是有效的) 不能增加堆空间

4

1 回答 1

0

好吧,最后我解决了这个问题。主要问题是在 2 台 PC 中,默认的 java 是 32 位,即使它有 64 位版本。简单地说,我卸载了 32 位版本。然后,64 位版本将自动接管。之后,我在系统变量中添加了 _JAVA_OPTIONS=-Xms1g -Xmx4g。然后在cmd中运行命令“java -XX:+PrintFlagsFinal -version | grep HeapSize”确保堆大小增加。终于,我的mpj程序运行正常了。

于 2021-08-13T12:01:33.050 回答