私はGNUを使って60個のスクリプトを並列に実行していますが(すべてwget
コマンドがあります)、数時間後に実行が少し遅くなることがわかりました。原因は何ですか?
私はこのコマンドを並列に実行しています。parallel -j 60 < list
ここで、「list」は60のスクリプトディレクトリを含むファイルです。
私はCentOS 6.5システムを使用しています。
答え1
~からLinuxカーネルについて学ぶ:
Linuxでは、プロセスの優先順位は動的です。スケジューラはプロセスが実行しているタスクを追跡し、この方法で定期的に優先順位を調整します。長時間CPU使用が拒否されたプロセスは、優先順位を動的に上げて昇格することができます。したがって、長期実行プロセスは優先順位を下げて不利益を受けます。