我正在尝试 cat 和 grep 一个 40 GB 的大文件。输出一些结果后,我的进程被终止了。
知道问题可能出在哪里吗?使用 OSX
[1] 37392 broken pipe cat output.txt |
37393 killed grep --color=auto -C 20 201804090004054066628236
我可以确认这是由于grep
内存使用量造成的。它的内存使用量猛增至近 100 GB
答案1
看起来cat
报告了管道损坏,因为grep
被杀死了。如果进程消耗了太多内存,并且触发了 OOM(内存不足)杀手,通常会发生这种情况。您可以尝试不使用无用cat
:
grep --color=auto -C 20 201804090004054066628236 output.txt