【发布时间】:2015-07-10 14:23:21
【问题描述】:
我一直在使用 GNU 并行 (20120422) 来运行 ~4000 个命令(在 commands.list 文件中),例如:
cat commands.list | parallel --keep-order --max-procs 40
开始一切正常,有 40 个作业正在运行,但过了一段时间它只运行了 5 个作业(有些作业比其他作业花费的时间更长)。我等了几个小时,在某个时候,这 5 个工作中的一个完成了,突然间产生了更多工作。
这种行为是有意的吗?我希望它总是会尝试运行约 40 个作业,不是吗? --keep-order 选项是否有一些缓冲区限制会阻止启动更多作业?
谢谢,
【问题讨论】:
-
是的,--keep-order 有文件句柄限制。如果你点击它,你会得到:并行:警告:没有更多的文件句柄。并行:警告:提高 ulimit -n 或 /etc/security/limits.conf 可能会有所帮助。
标签: gnu-parallel