GNU Parallel不使用所有处理器

问题描述 投票:1回答:1

我使用GNU parallel来加速进程。但是,GNU parallel并不使用我机器上的所有内核。我想知道这里的限制因素是什么。

命令:

find data -type f | parallel --pipe -P 70 python program.py > output 

但是,它仅使用70个核心中的4个。我想知道是否有人知道是否还有其他限制使其仅使用4个核心。

gnu-parallel
1个回答
1
投票

我不知道program.py的确如此。但是将--pipefind一起使用是非常罕见的。所以我认为这就是你想要的:

find data -type f | parallel -P 70 python program.py > output 

使用qazxsw poi,qazxsw poi的输出必须至少为70 MB才能并行执行70个作业,因为默认的--pipe为1 MB:

find

如果--block-size真的在stdin上读取文件名,那么你应该使用find data -type f | parallel --pipe -P 70 python program.py > output 和更小的program.py

--round-robin

这将从--block获取输入,并将第一个1kByte提供给第一个作业,第70个字节到第70个作业,第71个字节到第一个作业。

© www.soinside.com 2019 - 2024. All rights reserved.