gpt4 book ai didi

java - 子代码 "Out of Memory"和 "GC Overhead Limit Exceeded"

转载 作者:行者123 更新时间:2023-11-30 05:56:57 26 4
gpt4 key购买 nike

我正在运行一个从 svngit 的转换项目。由于该应用程序是单线程的,我正在将项目转移到更快的 PC。

所以没有任何选项栏httpSpooling = true;它在 VM 上运行正常 - 4 个 CPU20 Gb RAM

两个独立实例的 RAM 使用量为 8GB,最高可达 9.8Gb

作业已暂停、压缩并 SCP 到新机器 - Deb9 的裸机版本(与 VM 相同)i7(8 个 CPU(有效))16GB 内存。

但是,当仅启动一个 SubGit 实例时;我收到 Java out of memoryGC Overhead Limit Exceeded。我尝试将以下排列添加到 repo.git/subgit/config[daemon]

javaOptions = -noverify -client -Djava.awt.headless=true -Xmx8g -XX:+UseParallelGC -XX:-UseGCOverheadLimit – This gives GC Overhead Limit Exceeded Error
#javaOptions = -noverify -client -Djava.awt.headless=true -Xmx8g -XX:+UseParallelGC -XX:-UseGCOverheadLimit – (OPS Disabled) Gives an out of memory error.
javaOptions = -noverify -client -Djava.awt.headless=true –Xmx12g -XX:-UseGCOverheadLimit – this gives out of memory errors.

我也尝试过其他设置,包括将 –client 更改为 –server,但这似乎是更多的双向转换,这不是我想要的正在尝试做。

根据成功运行的系统上的应用程序使用情况,应该有足够的 RAM,因此除非 SubGit 忽略某些值,否则我无法判断。

最佳答案

根据您运行的操作,[daemon] 部分中的“javaOptions”确实可能会被忽略:这些 java 选项影响 SubGit 守护进程,但不会影响“subgit install”或“subgit fetch”操作。由于您提到存储库已移动到另一台计算机,我相信您已调用这两个命令中的任何一个来重新启动镜像,这就是忽略“daemon.javaOptions”的原因。要调整 SubGit 的 java 选项,请在 SubGit 启动脚本(EXTRA_JVM_ARGUMENTS 行)中对其进行编辑:

EXTRA_JVM_ARGUMENTS="-Dsun.io.useCanonCaches=false -Djava.awt.headless=true -Djna.nosys=true -Dsvnkit.http.methods=Digest,Basic,NTLM,Negotiate -Xmx512m"

至于内存消耗本身,取决于正在运行哪些操作。目前尚不完全清楚您如何暂停虚拟机上的作业(通过“subgit shutdown”或其他方式?)、当时正在运行哪些操作(初始翻译或常规提取)以及如何重新启动虚拟机上的作业新机器。

关于java - 子代码 "Out of Memory"和 "GC Overhead Limit Exceeded",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53004703/

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