我在Dreamhost托管的虚拟服务器上使用Git,内存为2GB。我每天凌晨4点运行git gc
,并且在过去的一周内一直运行,dreamhost进程重启发送一封电子邮件,说明由于我已经消耗了超过2GB的内存,他们已经重新启动我的服务器以停止进程消耗内存。
存储库大小为10GB。我在发布之前已经进行了广泛的研究,但有没有Git创建的日志文件,这样我就可以看到Git正在“触摸”哪个文件导致服务器强行重启?
答案 0 :(得分:1)
据我所知,没有秘密的方法来记录发生的事情。但是,对于包含大对象的存储库,git repack
步骤可能需要使用大量内存,即使是小(ish)(即默认)--window
和--depth
。 / p>
解决方案(除了避免对VM的严格限制:-))是使用git config
将pack.windowMemory
设置为某个合适的限制。另见Repack of Git repository fails。 (我自己没有遇到这种情况,但这似乎是一个明显的答案,至少。)