在 MPJ Express 集群模式下无法增加 Java 堆 space
Can not increase Java heap space in MPJ Express cluster mode
我使用 5 个节点执行程序,每个节点配备 6 核处理器和 8GB 内存。我设置 process = 5 以便每个节点将处理 1 个进程。在某些使用更多数据的情况下,我收到错误“java.lang.OutOfMemoryError:Java 堆 Space”。我试图通过添加“-Xmx2g”来增加堆,但它显示“无法预留足够 space”。这没有意义,因为我在每个节点中都有足够的 RAM。我只能将它设置为 <= 1GB,但我的程序需要的不止于此。有人知道如何解决这个问题吗? (请注意,在多核模式下,增加堆 space 是有效的)
好吧,我终于解决了这个问题。主要问题是在 2 台 PC 中,默认 java 是 32 位,即使它有 64 位版本。简单地说,我卸载了 32 位版本。然后,64 位版本将自动接管。之后我在系统变量中添加了 _JAVA_OPTIONS=-Xms1g -Xmx4g 。然后在cmd中运行命令“java -XX:+PrintFlagsFinal -version | grep HeapSize”确保堆大小增加。终于,我的mpj程序运行正常了
我使用 5 个节点执行程序,每个节点配备 6 核处理器和 8GB 内存。我设置 process = 5 以便每个节点将处理 1 个进程。在某些使用更多数据的情况下,我收到错误“java.lang.OutOfMemoryError:Java 堆 Space”。我试图通过添加“-Xmx2g”来增加堆,但它显示“无法预留足够 space”。这没有意义,因为我在每个节点中都有足够的 RAM。我只能将它设置为 <= 1GB,但我的程序需要的不止于此。有人知道如何解决这个问题吗? (请注意,在多核模式下,增加堆 space 是有效的)
好吧,我终于解决了这个问题。主要问题是在 2 台 PC 中,默认 java 是 32 位,即使它有 64 位版本。简单地说,我卸载了 32 位版本。然后,64 位版本将自动接管。之后我在系统变量中添加了 _JAVA_OPTIONS=-Xms1g -Xmx4g 。然后在cmd中运行命令“java -XX:+PrintFlagsFinal -version | grep HeapSize”确保堆大小增加。终于,我的mpj程序运行正常了