0

私は4つの論理CPS(重要な場合は2つのデュアルコアCPU)を備えたシステムで作業しています。私はmakeを使用して、12の簡単に並列化可能なタスクを並列化し、cronから実行しています。

呼び出しは次のようになります。

make -k -j 4 -l 3.99 -C [dir] [12 targets]

私が直面している問題は、あるジョブが終了することがありますが、負荷平均リミッターによって停止されるべきではないのに、次のジョブが起動しないことです。各ターゲットの完了には約4時間かかりますが、これが問題の一部である可能性があるのではないかと思います。

編集:ターゲットが失敗することがありますが、-kオプションを使用して、残りのmakeを実行し続けます。ジョブが失敗し、次のジョブが開始されないこととの相関関係に気づいていません。

4

3 に答える 3

1

「-l」を削除します

システムを実行する予定がこのビルドだけの場合、 -j 4 はあなたが望むことをすると思います

私の記憶に基づくと、何か他のもの (crond?) を実行していると、負荷平均が 4 を超える可能性があります。

GNU make ref

于 2008-08-30T00:49:34.633 に答える
0

@BCS _

-l が問題の原因ではないことは 99.9% 確信しています。なぜなら、マシンの負荷平均を監視でき、次のジョブを開始せずに負荷平均が約 3、時には 1 (!) まで低下するからです。

于 2008-08-30T17:58:46.343 に答える
0

ターゲットの 1 つが失敗していると make は考えますか? その場合、実行中のジョブが終了した後に make を停止します。-k を使用して、エラーが発生しても続行するように指示できます。

于 2008-08-29T23:01:29.510 に答える