кот и grep с огромным файлом - сломанная труба

309
Madhur Ahuja

Я пытаюсь кошка и grep огромный файл 40 ГБ. После некоторого вывода мой процесс будет убит.

Есть идеи, в чем может быть проблема? Использование OSX

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

Я могу подтвердить это из-за grepиспользования памяти. Его использование памяти достигает почти в ГБ

0

1 ответ на вопрос

2
l0b0

Похоже, catсообщил о сломанной трубе, потому что grepбыл убит. Обычно это происходит, если процессы потребляют слишком много памяти и запускается OOM (нехватка памяти). Вы можете попробовать без бесполезногоcat :

grep --color=auto -C 20 201804090004054066628236 output.txt 
`grep` не хранит слишком много информации в памяти, поэтому OOM кажется несколько маловероятным, если только` -C 20` не собирает строки размером порядка гигабайт каждая. tripleee 6 лет назад 0
Да, но я не вижу другой причины, по которой "grep" был бы убит кем-то другим, кроме пользователя. l0b0 6 лет назад 0