我在dreamhost托管的具有2GB内存的虚拟服务器上使用Git。我每天早上4点运行git gc
,在过去的一周里,dreamhost进程重新启动一直会发送一封电子邮件,声明由于我消耗了超过2GB的内存,他们已经重新启动了我的服务器,以停止消耗内存的进程。
存储库大小为10GB。在发布这篇文章之前,我已经仔细查看了,但Git是否创建了一个日志文件,可以让我查看Git"接触"了导致服务器被迫重启的文件?
据我所知,没有记录所发生事情的秘密方法。然而,对于包含大型对象的存储库,git repack
步骤可能需要使用大量内存,即使是使用较小(ish)(即默认)的--window
和--depth
。
解决方案(除了避免对VM的愚蠢限制之外:-)是使用git config
将pack.windowMemory
设置为某个合适的限制。请参阅重新打包Git存储库失败。(我自己没有遇到过这种情况,但至少这似乎是显而易见的答案。)