이 질문을 많이 받았지만 내 문제에 대한 해결책을 찾지 못했다는 것을 알고 있습니다.
동료가 나에게 새 프로젝트를 할당했습니다. 애플리케이션은 git이 설치된 테스트 Debian 서버에서 호스팅됩니다.
먼저 내 지점을 만들었습니다.
git checkout -b mybranch
그런 다음 일부 파일을 약간 변경했습니다.
Github에 푸시하려고 할 때(내 github 계정 사용)
git add myfile.php
git commit -m "my first commit"
git push origin mybranch
다음 오류가 발생합니다.
치명적: 메모리 부족, malloc 실패
이것이 무엇을 의미하는지 이해하지 못합니다. 푸시하려는 파일의 총 크기는 156Ko입니다. 그리고 프로젝트의 총 규모는 10,9Mo에 불과합니다.
서버를 다시 시작해 보았으나 마찬가지 현상이 발생합니다.
free
서버에서 이것을 실행 하면 다음과 같은 결과를 얻습니다.
total used free shared buffers cached
Mem: 505312 239532 265780 0 51576 71580
-/+ buffers/cache: 116376 388936
Swap: 0 0 0
내 동료는 동일한 테스트 서버에서도 이전에 이런 문제를 겪은 적이 없습니다.
누군가 이 오류의 원인과 가능한 수정 사항을 나에게 강조해 줄 수 있습니까?
미리 감사드립니다.
답변1
실제로는 메모리 문제인 것으로 밝혀졌습니다. 268mo는 git이 제대로 실행되기에는 충분하지 않습니다.
나는 1Go의 교환을 서버에 추가하여 이 문제를 해결했습니다.
$ sudo fallocate -l 1G /swapfile
$ sudo chmod 600 /swapfile
$ sudo mkswap /swapfile
$ sudo swapon /swapfile
답변2
Docker에서 Jenkins를 실행할 때 동일한 오류가 발생했습니다.
컨테이너를 중지하고 git을 실행했더니 문제가 해결되었습니다.
더 많은 RAM 공간을 확보해 보세요.
답변3
메모리 사용량을 확인해 봤습니다.
다음 명령을 입력하세요:
free -mh
기억력이 부족해요.
그래서 Docker 컨테이너를 중지하고 RAM을 다시 확인했습니다.
이제 다시 정상으로 돌아왔습니다.