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)が、ほとんどが空で動作を停止し、一部は完了しています。私は何が間違っているのですか?
きみの ulimit -u
は<144です。管理者に変更してもらいます。