2012-03-26 4 views
1

2host 메모리가있는 dreamhost에서 호스트하는 가상 서버에서 Git을 사용하고 있습니다. 나는 매일 오전 4시에 git gc을 실행하고 지난 주 동안 일관되게 dreamhost 프로세스 재부팅을 통해 2GB 이상의 메모리를 소비했기 때문에 메모리를 소비하는 프로세스를 중지하기 위해 서버를 재부팅했다고 전자 메일을 보냅니다.GIT GC가 서버 메모리를 소모합니다.

저장소 크기는 10GB입니다. 나는이 글을 게시하기 전에 광범위하게 살펴 보았지만, 힘내라 (Git)가 생성 한 로그 파일은 서버가 강제적으로 재시작하게하는 원인을 알려주는 'Git'파일을 볼 수있게 해줄 것인가?

답변

1

내가 아는 한, 일어난 일을 기록하는 비밀 방법이 없습니다. 그러나 대형 객체가 포함 된 저장소의 경우 git repack 단계는 작은 (ish) (즉, 기본값) --window--depth 인 경우에도 엄청난 양의 메모리를 사용하려고 할 수 있습니다.

해결책은 (VM에 대한 어리석은 제한을 피하는 것 외에도) git config을 사용하여 pack.windowMemory을 적절한 제한값으로 설정하는 것입니다. Repack of Git repository fails도 참조하십시오. (나는이 상황에 직접적으로 뛰어 들어 가지 못했지만 최소한 명백한 대답처럼 보입니다.)

+0

tyvm torek, 시간 내 주셔서 감사합니다. –