如何全局限制git的内存使用量

我有一个虚拟专用服务器,所有我的产品的git存储库。 问题是,当我从它取,VPS的内存不足了。 所以我必须限制内存的使用。 我知道如何为每个客户端的.git / config(pack.windowMemory,pack.packSizeLimit)。

有没有办法在服务器上设置限制,并在服务器上的所有git仓库全局设置?

谢谢。

山姆

你可以通过使用内置的limits.conf 。 您可以将所有Git用户添加到任意组,然后限制该组的内存。

但是我并不是真的宽容这个,好像它需要记忆 – 它需要记忆 。 我只是想象Git进程会因为内存不足而提前终止 – 这样可以避免VPS崩溃,但是并没有真正实现。

一种方法来做到这一点…

例如。 你的Git组被称为gitgroup,你有3个现有的用户,bob,jane和tim

创build组gitgroup

 groupadd gitgroup 

然后将用户添加到该组

 usermod -a -G gitgroup bob usermod -a -G gitgroup jane usermod -a -G gitgroup tim 

现在在/etc/security/limits.conf

 #groupname type item limit @gitgroup hard rss 512000 

这将限制该组(因此其中的任何用户)达到512000KB的硬内存限制。 这可能对这些用户拥有的其他正在运行的进程也有其他副作用。

在login时为特定用户shell添加内存限制可能更为可取。

您可以通过将其添加到用户的相应.bash_profile来完成此操作

 ulimit -v 512000 

解决scheme …

你需要更多的内存。 如果你正在尝试做一些事情,并在stream程中耗尽内存,那么要么不要做你正在做的事情,要么增加更多的内存。 显然你的硬件是不够的,你想做什么。