【问题标题】:Grep memory exhausted or killedGrep 内存耗尽或被杀死
【发布时间】:2017-02-21 14:24:08
【问题描述】:

我有 2 个文件,每个文件大小约为 5 MB,我的 RAM 为 1.5 GB。当我在这些文件之间运行 grep -f 时,我会收到“已终止”消息或“grep 内存耗尽”消息。为什么会这样?我的文件可能有问题吗?

【问题讨论】:

  • 我想这真的取决于你文件的内容。您会看到,当您将复杂的正则表达式规则应用于复杂的输入时......这里可能需要大量内存。例如,请参阅regular-expressions.info/catastrophic.html

标签: linux ubuntu


【解决方案1】:

使用“ulimit -a”命令检查您的内存限制,内核会限制进程可以使用的 RAM 量。另外,请查看 ulimit 手册页。

【讨论】:

  • 我的意思是作为答案,因为我很确定这是(软件定义的)内存限制是这里的原因。
  • 我使用了 cat /proc/meminfo,它显示我总共有 1.4 GB 和 1 GB 可用
  • 因为我有点初学者,我们对哪一行感兴趣?
【解决方案2】:

你有多少交换?

我知道这个答案很糟糕,但添加更多交换。它只是grep。多年来,我一直想找到答案……

或者对有问题的文件使用拆分,然后循环遍历这些文件。

grep -f 可能很讨厌。尝试在 cli 上使用 |

【讨论】:

  • 请在您的答案中包含有关步骤的更多详细信息。见How to Answer
猜你喜欢
  • 2017-10-02
  • 1970-01-01
  • 2014-10-20
  • 1970-01-01
  • 1970-01-01
  • 2015-08-23
  • 2012-11-10
  • 2012-08-19
  • 2011-02-09
相关资源
最近更新 更多