![GNU Parallelを使用してHPCクラスタで並列bashジョブを実行する[閉じる]](https://linux33.com/image/43850/GNU%20Parallel%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6HPC%E3%82%AF%E3%83%A9%E3%82%B9%E3%82%BF%E3%81%A7%E4%B8%A6%E5%88%97bash%E3%82%B8%E3%83%A7%E3%83%96%E3%82%92%E5%AE%9F%E8%A1%8C%E3%81%99%E3%82%8B%5B%E9%96%89%E3%81%98%E3%82%8B%5D.png)
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です。管理者に変更を依頼してください。