我的软件运行的命令类似于:
查找 | xargs 做了一项潜在的内存消耗工作
问题是有时一个可能需要内存的工作太饿了,系统没有响应,我必须重新启动它。我的理解是,这是由于内存分配超过承诺而发生的。我想要发生的是,如果 xargs 生成的作业需要比可用内存更多的内存,它就会死掉(我可以接受),就是这样。我想如果我在系统范围内关闭过度使用,我可以得到这种行为,但这不是一个选项。是否可以将其关闭以进行进程?
我正在考虑的一个可能的解决方案是设置
ulimit -v 内存大小
但有些事情告诉我这不是一个好主意。