我有一个 12 核服务器,我想运行一个脚本,该脚本将文件作为输入参数并对其进行处理。我想使用 8 个核心,不再需要在 8 个核心上一次并行处理 8 个文件,然后在 1 个核心的处理完成后跳转到下一个。
xargs
我尝试过这样做:
ls /data/paths/ | grep new | xargs -i -P 8 -n 1 bash main.sh {}
我也尝试过并行处理,如下所示:
ls /data/paths/ | grep new | parallel -j 8 --no-notice bash main.sh {}
我的条件是我必须将其限制为 8 个 CPU。
编辑:
当我运行时,ps -ef | grep main.sh
它显示 11-12 个进程,而不是 8 个。