cat und grep mit einer riesigen datei - gebrochene pfeife

373
Madhur Ahuja

Ich versuche zu cat und grep eine riesige 40 GB-Datei. Nach einiger Ausgabe wird mein Prozess beendet.

Irgendeine Idee, was kann das Problem sein? OSX verwenden

[1] 37392 broken pipe cat output.txt | 37393 killed grep --color=auto -C 20 201804090004054066628236 

Ich kann es wegen der grepSpeichernutzung bestätigen . Seine Speicherauslastung erreicht fast in GB

0

1 Antwort auf die Frage

2
l0b0

Sieht aus cat, als hätte das Rohr gebrochen, weil grepes getötet wurde. Dies tritt normalerweise auf, wenn die Prozesse zu viel Arbeitsspeicher beanspruchen und der OOM-Killer (Out of Memory) ausgelöst wurde. Sie könnten es ohne Nutzlosecat versuchen :

grep --color=auto -C 20 201804090004054066628236 output.txt 
`grep` speichert nicht sehr viele Informationen im Speicher, sodass die OOM etwas unwahrscheinlich erscheint, es sei denn,„ -C 20 “sammelt Zeilen, die jeweils in der Größenordnung von Gigabyte liegen. tripleee vor 6 Jahren 0
Ja, aber ich sehe keinen anderen Grund, warum `grep` von etwas anderem als dem Benutzer getötet werden würde. l0b0 vor 6 Jahren 0