并行高效地运行多个作业
作业系统:Cent-OS
我有一些30,000
作业(或脚本)要运行。每个工作需要3-5分钟。我有48 CPUs(nproc = 48)
。我可以40 CPUs to run
40 Jobs并行使用。请建议一些脚本或工具通过并行运行40个Jobs来处理30,000个Job。
我做了什么:
我创建了40个不同的文件夹,并通过为每个目录创建一个Shell脚本来并行执行作业。
我想知道下一次处理此类工作的更好方法。
回答:
正如Mark Setchell所说:GNU并行。
find scripts/ -type f | parallel
如果您坚持要保持8个CPU空闲:
find scripts/ -type f | parallel -j-8
但是通常简单地使用它会更高效,nice
因为在没有其他人需要它们的情况下,它将为您提供全部48个内核:
find scripts/ -type f | nice -n 15 parallel
以上是 并行高效地运行多个作业 的全部内容, 来源链接: utcz.com/qa/404652.html