我正在运行一个从svn
到git
的转换项目。由于该应用程序是单线程的,因此我正在将该项目移至Faster PC。
因此没有任何选项栏httpSpooling = true
;它可以在VM – 4 CPU's
,20 Gb of Ram
上正常运行。
两个单独实例的RAM使用量为8GB
,最高达到9.8Gb
。
作业暂停,压缩并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忽略某些值,否则我不会知道。
答案 0 :(得分:1)
[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”或其他方式)在虚拟机上暂停作业,当时正在运行哪些操作(初始翻译或常规提取)以及如何在虚拟机上重新启动作业?新机器。