web-dev-qa-db-ja.com

GNU parallelを使用してHPCクラスターで並列bashジョブを実行する

HPCクラスターで、GNU parallelを使用して1つのbashスクリプトから複数のbashスクリプト(permute2.sh)を実行しようとしていますが、すべてのジョブが完了するわけではありません。ランダムに1つのジョブが完了します。 、他のことをしている間、それは立ち往生しています。

permute1.sh:

PROCS=144 
permuations=1000
seq 1 $permuations | parallel -j $PROCS sh permute2.sh {}

permute2.sh(ファイルから100行のランダムな行を取得し、順列のためにファイルに対していくつかのアクションを実行します)

id=$1
randomlines=100
awk 'BEGIN{srand();} {a[NR]=$0}
END{for(I=1;I<='$randomlines';I++){x=int(Rand()*NR);print a[x];}}'
FILE.txt > results/randomlines.$id.txt

# do stuff with randomlines.$id.txt.. 

permute1.shを実行すると、CPU 1ごとに144個のファイルが作成されることがわかります(randomlines.1.txt --randomlines.144.txt)が、ほとんどが空で動作を停止し、一部は完了しています。私は何が間違っているのですか?

7
tafelplankje

きみの ulimit -uは<144です。管理者に変更してもらいます。

1
user39122