GIT GC потребляет память сервера

Я использую Git на виртуальном сервере, размещенном на Dreamhost с 2 ГБ памяти. я бегу git gc Каждое утро в 4 часа утра и постоянно в течение последней недели процесс перезагрузки Dreamhost отправляет электронное письмо с сообщением о том, что из-за того, что я использовал более 2 ГБ памяти, они перезагрузили мой сервер, чтобы остановить процесс, который потребляет память.

Размер хранилища составляет 10 ГБ. Я внимательно посмотрел, прежде чем публиковать это, но есть ли файл журнала, который создает Git, который позволит мне увидеть, какой файл Git "касался", что вызвало принудительный перезапуск сервера?

1 ответ

Решение

Насколько я знаю, не существует секретного метода регистрации происходящего. Тем не менее, с хранилищем, содержащим большие объекты, git repack Шаг может захотеть использовать огромные объемы памяти, даже с небольшим (ish) (т.е. по умолчанию) --window а также --depth,

Решение (помимо избежания глупых ограничений на ВМ:-)) заключается в использовании git config установить pack.windowMemory до некоторого подходящего предела. См. Также " Переупаковка репозитория Git". (Я сам не сталкивался с такой ситуацией, но, по крайней мере, это кажется очевидным ответом.)

Другие вопросы по тегам