java - GC Clojure/Java/JVM 内存设置

标签 java clojure garbage-collection jvm

硬件设置为 64x 64 位 CPU、380GB RAM。

Java/Lein 设置为:

#export JVM_OPTS=-Xmx254g -Xss2g

运行一个大型并行 Clojure 推理算法,我得到了

java.lang.OutOfMemoryError: GC overhead limit exceeded

然而,该进程的最大内存使用量约为 30GB。

我需要更改哪些设置?我不明白为什么 GC 坚持尝试释放内存 - 应该有足够的空间!

当限制为10GB内存和10个CPU时,算法不会遇到这个问题。

最佳答案

我怀疑

#export JVM_OPTS=-Xmx254g -Xss2g

是一条评论。这意味着正在使用您的默认堆大小 32 GB(因为您有 128+ GB)。尝试删除 # 此外,如果 export JVM_OPTS= 出现在该行之后的任何位置,它将覆盖此设置。

关于java - GC Clojure/Java/JVM 内存设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36665541/

相关文章:

java - 我可以建议 JVM 何时进行垃圾收集吗?

java - JComboBox ,如何知道一次选择了哪个特定选项

64-bit - 加载错误的jvm.dll

clojure - Clojure core.logic 的意外结果(使用 CLP/FD)

java - 是否有可能控制反序列化文件时创建的对象数量

java - 需要 modbus Java 库

clojure - 99 Clojure 中的第 9 题(将连续重复的列表元素打包到子列表中)

clojure - 使用enlive提取连续的html片段

java - Hadoop:堆空间和gc问题

c# - 计算排队等待垃圾收集的对象总数