GIT GC потребляет память сервера
Я использую Git на виртуальном сервере, размещенном на Dreamhost с 2 ГБ памяти. я бегу git gc
Каждое утро в 4 часа утра и постоянно в течение последней недели процесс перезагрузки Dreamhost отправляет электронное письмо с сообщением о том, что из-за того, что я использовал более 2 ГБ памяти, они перезагрузили мой сервер, чтобы остановить процесс, который потребляет память.
Размер хранилища составляет 10 ГБ. Я внимательно посмотрел, прежде чем публиковать это, но есть ли файл журнала, который создает Git, который позволит мне увидеть, какой файл Git "касался", что вызвало принудительный перезапуск сервера?
1 ответ
Насколько я знаю, не существует секретного метода регистрации происходящего. Тем не менее, с хранилищем, содержащим большие объекты, git repack
Шаг может захотеть использовать огромные объемы памяти, даже с небольшим (ish) (т.е. по умолчанию) --window
а также --depth
,
Решение (помимо избежания глупых ограничений на ВМ:-)) заключается в использовании git config
установить pack.windowMemory
до некоторого подходящего предела. См. Также " Переупаковка репозитория Git". (Я сам не сталкивался с такой ситуацией, но, по крайней мере, это кажется очевидным ответом.)