gpt4 book ai didi

java 没有正确地保留巨大的初始堆大小

转载 作者:太空狗 更新时间:2023-10-29 22:46:32 26 4
gpt4 key购买 nike

我正在一台配备 512GB RAM 的机器上工作(由多个 AMD Opteron 6212 CPU 解决)。目前大约有 300GB RAM 可用。通过运行

运行大型 Java 计算
java path/to/myApp -Xms280g -Xmx280g > output.txt

应该立即让 Java 预留 280GB,如果失败则报错。奇怪的是,没有发生错误,但 top 仅显示 30.4GB 的内存使用情况,但没有崩溃。这怎么会发生?如果无法分配初始堆大小,java 不会崩溃吗?

实际上,一旦 30.4GB 已满,我就会收到 OutOfMemory/Java 堆空间/GC 开销限制错误,远远早于达到 280GB。使用 250GB 或 300GB 运行会产生类似的 30.3GB ~ 30.4GB 限制。我在 Gentoo Linux 上运行带有 OpenJDK 运行时环境 (IcedTea6) 的 OpenJDK 64 位服务器虚拟机,并且有足够的可用 RAM(超过 300GB)。

最佳答案

参数的顺序不正确。您正在将 -Xms280g -Xmx280g 作为参数传递给您自己的程序,而不是传递给 JVM。正确的是:

java -Xms280g -Xmx280g path/to/myApp

关于java 没有正确地保留巨大的初始堆大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23860364/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com