我正在执行从svn
到的转换项目git
。由于应用程序是单线程的,因此我将项目移至Faster PC。
所以没有任何选择吧httpSpooling = true
;它运行在一个虚拟机OK - ,。4 CPU's
20 Gb of Ram
两个单独实例的RAM使用率是8GB
最大值9.8Gb
。
Jobs暂停,压缩并SCP到新机器上-Deb9(与VM相同)i7(8 CPUs
(有效))16GB内存的Bare Metal版本。
但是,当仅启动一个SubGit实例时;我得到Java out of memory
或GC 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”或其他方式)在虚拟机上暂停作业,当时正在运行哪些操作(初始翻译或常规提取)以及如何在虚拟机上重新启动作业?新机器。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句