2

100 台のリモート コンピューターにコマンドを配布しようとしていますが、コマンドが 16 台のリモート コンピューターにしか送信されていないことに気付きました。私のローカル マシンには 16 個のコアがあります。100 台ではなく 16 台のリモート コンピューターのみを並列で使用するのはなぜですか?

parallel --eta --sshloginfile list_of_100_remote_computers.txt < list_of_commands.txt

4

2 に答える 2

0

リモート マシンが 32 コアの場合、16*32 ジョブを実行します。デフォルトでは、GNU Parallel は STDOUT と STDERR のファイル ハンドルを合計 16*32*2 ファイル ハンドル = 1024 ファイル ハンドルで使用します。

デフォルトの GNU/Linux システムを使用している場合、1024 ファイル ハンドル制限に達します。

より多くのジョブを実行する場合--ungroupは、ファイル ハンドルの制限に達したことを明確に示しています。ulimit -n制限を増やすために使用します。

于 2013-07-14T18:58:53.503 に答える