【问题标题】:GNU parallel not spawning jobsGNU 并行不产生作业
【发布时间】:2017-05-27 12:48:30
【问题描述】:

升级到 Debian 8.6 Jessie 后,GNU 并行脚本突然停止使用 --pipe 和 -L 选项并行处理超过 2 个作业。

升级前的命令:

cat file_with_1064_lines.txt | parallel -L10 -j5 -k -v --pipe "wc -l"

产生了 5 个进程,输出如下:

wc -l
10
wc -l
10
...

升级后同样的命令:

wc -l 1060 wc -l 4

(上面的两个值相对于 -L 选项值发生变化——第一个是L*floor(1064/L),第二个是1064 mod L,但总是只有两个进程在输出。)

独立于并行版本(测试最新版本和 2013 年的版本)观察到相同的情况。

PS。

$ uname -a

Linux 3.16.0-4-amd64 #1 SMP Debian 3.16.36-1+deb8u2 (2016-10-19) x86_64 GNU/Linux

$并行--版本

GNU 并行 20161222

【问题讨论】:

    标签: bash perl debian piping gnu-parallel


    【解决方案1】:

    -L 是记录大小。该错误已在 20130122 左右修复。您想要的是读取 10 行的 1 条记录:

    parallel -L10 -N1 -j5 -k -v --pipe wc -l
    

    或 1 行 10 条记录:

    parallel -L1 -N10 -j5 -k -v --pipe wc -l
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-05-03
      • 2020-10-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多