【问题标题】:GC Clojure/Java/JVM memory settingsGC Clojure/Java/JVM 内存设置
【发布时间】:2016-04-16 14:41:55
【问题描述】:

硬件设置为 64 个 64 位 CPU,380GB RAM。

Java/Lein 设置为:

#export JVM_OPTS=-Xmx254g -Xss2g

运行我得到的大型并行 Clojure 推理算法

java.lang.OutOfMemoryError: GC overhead limit exceeded

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

我需要更改哪些设置?我不明白为什么 GC 坚持尝试释放内存 - 应该有很多事情要做!

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

【问题讨论】:

  • 您需要发布您的 GC 日志。否则很难说出内存是如何使用的等等。只是基本的日志记录就可以了(例如-verbose:gc -XX:+PrintGCDetails -Xloggc:gc.log)。
  • 好的,可以 - 但我可能需要几个小时才能再次遇到问题!

标签: java clojure garbage-collection jvm


【解决方案1】:

我怀疑

#export JVM_OPTS=-Xmx254g -Xss2g

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

【讨论】:

  • 我应该删除问题吗?它可能对任何人都没有帮助 - 我在上面有 #PBS 指令并且不小心输入了那个哈希值。
  • @Oxonon 这取决于你。如果没有设置-Xmx,了解会发生什么可能会很有用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-01-12
  • 2021-02-01
  • 2013-03-09
  • 1970-01-01
  • 1970-01-01
  • 2018-01-13
  • 2017-02-17
相关资源
最近更新 更多