如果我已经以类似的方式开始了 GNU 并行工作:
$ cat jobs | parallel -j 70 "program {};"
是否可以通过例如某种信号来调整该并行作业的作业数量?这样我就可以表明parallel
现在最多应该运行75
大多数子作业?
答案1
https://www.gnu.org/software/parallel/parallel_tutorial.html#Number-of-simultaneous-jobs
同时作业数
:
--jobs 可以从作业完成时重新读取的文件中读取:
echo 50% > my_jobs /usr/bin/time parallel -N0 --jobs my_jobs sleep 1 :::: num128 & sleep 1 echo 0 > my_jobs wait
第一秒只有 50% 的 CPU 核心会运行作业。然后将 0 放入 my_jobs 中,然后其余作业将并行启动。
我强烈建议您花一个小时来完成本教程。您的命令行会因此而喜欢您。