Git auf shared webspace mit Memory limit - out of memory

Für alle die git auf shared Web-Servern (z.b. bei 1&1 Ionos usw.) verwenden / verwenden wollen
hab ich hier die Lebensrettende Einstellung gefunden:

Bei geteiltem Host ist immer ein Script Memory Limit aktiv das oft zwischen 500 und 800 MB liegt.
Der gesamte RAM der zur verfügung steht beträgt meist mehrere GB.

Problem: bei git ist das RAM Limit pro Operation / Befehl auf Maschinen mit 64-Bit Betriebsystemen
auf 1 GB eingestellt, d.h. git wird immer versuchen die 1GB voll zu machen wenn es muss,
und wird dann durch das vom Hoster gesetzte Memory Limit mit der Fehlermeldung:
‘out of memory’ abgebrochen.

Das könnt ihr ganz einfach umgehen indem ihr mit folgendem Eintrag, in die git-config, git weniger Speicher pro Operation zugesteht:

git config --global core.packedGitWindowSize "100m"

in diesem Beispiel begrenzt ihr den Speicher für git auf 100 MB pro prozedur.

Ihr könnt ja austesten bis wieviel MB z.B. git status bei euch noch durchläuft.

Damit läuft dann auch wieder alles durch ohne dass git an das Memory Limit vom Hoster stößt.

Hoffe es hilft jemandem - ich hab vergebens im Netz danach gesucht, bin dann in der Dokumentation von git darauf gestoßen.

1 Like

Muss feststellen dass noch mehr nötig ist…
Folgende angaben sind nötig:
git config --global core.packedGitWindowSize “50m”
git config --global pack.windowMemory “50m”
git config --global pack.threads “1”