最大並列実行制限を見つけるには?

最大並列実行制限を見つけるには?

並列実行に制限はありますか?では、最大限度を確認する方法は?

「&」で連結されたスクリプト文字列を生成し、evalを使用してすべて実行するスクリプトを作成しています。このような:

scriptBuilder="ksh -x script1.sh & ksh -x script2.sh & ksh -x script3.sh";
eval $scriptBuilder;

サーバーで並列実行の最大制限が何であるかを確認しようとしています。

ベストアンサー1

このコマンドは、ulimit -u開始できるプロセスの最大数を表示します。しかし、実際にはバックグラウンドで多くのプロセスを開始しないでください。コンピュータはプロセス間の移行に時間を費やし、実際の作業を実行する時間を見つけることができません。

CPU 集約的なタスクの場合は、コンピューター上のものと同じかそれ以上のコアを使用してタスクを実行します。これらのすべてのプロセスとそのファイルキャッシュに対応するのに十分なRAMがある場合:並列プロセスが継続的にデータを再ロードするためにI / O帯域幅を配置して競合している場合は、順次実行するよりも遅くなります。あなたはできますその中にあるコアの数を見つけてください。/proc/cpuinfo

プロセッサごとに1つのジョブを実行する簡単な方法は、次のようにすることです。GNUパラレル

ジョブがI / Oバインドされていて同じ周辺装置を使用している場合(たとえば、同じディスク上のファイルにアクセスする)、通常は順番に実行するのが最善です。

おすすめ記事