Speicher erschöpft: für große Dateien mit diff

8

Ich versuche, einen Patch mit zwei großen Ordnern (~ 7GB) zu erstellen.

So mache ich es:

$: # diff -Naurw. ../der andere Ordner & gt; file.patch

Aber vielleicht wird aufgrund von Dateigrößen kein Patch erstellt und gibt einen Fehler:

diff: Speicher erschöpft

Ich habe versucht, mehr als 15 GB Speicherplatz zu schaffen, aber das Problem besteht weiterhin.

Könnte mir jemand mit den Flaggen helfen, die ich benutzen sollte?

    
pritam 07.03.2013, 05:50
quelle

1 Antwort

12

Kürzlich stieß ich auch darauf, als ich zwei große Dateien (& gt; 5 GB pro Datei) vergleichen musste.

Ich habe versucht, 'diff' mit verschiedenen Optionen zu verwenden, aber auch --speed-large-files hatte keine Wirkung. Andere Methoden wie das Aufteilen der Dateien in kleinere, die Verwendung von xdelta oder das Sortieren der Dateien gemäß Dieser Vorschlag hat auch nicht geholfen. Ich habe sogar eine sehr mächtige VM (& gt; 72 GB RAM) in die Hände bekommen, aber immer noch diesen memory exhausted Fehler.

Ich habe endlich angefangen zu arbeiten, indem ich den folgenden Parameter zu sysctl.conf ( sudo vim /etc/sysctl.conf ) hinzufüge:

%Vor%

Um sicherzustellen, dass der Parameter tatsächlich angewendet wird, können Sie

ausführen %Vor%

Vergessen Sie nicht, diesen Parameter zu ändern, wenn Sie fertig sind!

    
Igor 16.02.2015 10:19
quelle

Tags und Links