HPCクラスタでGNUを使用して、1つのbashスクリプト()で複数のbashスクリプトを並列に実行しようとしましたが、permute2.sh
すべての操作は実行されませんでした。ランダムに1つのタスクを完了し、もう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)が生成されますが、ほとんどが空で動作が停止し、一部が完了することがわかります。私は何が間違っていましたか?
答え1
あなたのulimit -u
値は<144です。管理者に変更を依頼してください。