Install this theme
Mac OSX 10.6 で実行すると 5000 で、CentOS5.6でやってみたら 16379 だった*3。自宅のDebian(testing kernel 2.6.28.7)だと 65519。
つまり何も考えずに xargs を実行すると、この数に達しない限りは1回のコマンドで実行されちゃうのだ。カジュアルな並列実行に壁が立ちはだかる。
xargs -L オプションを併用
で、ちゃんと偉い人が考えてくれていてありがたいことに xargs には -L というオプションがある。これを指定すればコマンド1回の実行にいくつの引数を(最大で)与えるかが指定できる。
このため、最悪ケースでも以下のようにすれば、常にふたつの bzip2 コマンドが並列で走って(だいたい)倍速で圧縮が完了するというわけだ。