たとえば、CPU負荷が低い構成ステップでは、-jN> nrcpusを使用することは有益ではありませんか?では、-jN=nrcpus でコンパイルする際に、各 CPU に負荷を均等に分配する必要がありますか?
ビルド環境でこれを実装するのはどれほど難しいでしょうか?すべての手順ですべての設定ファイルを変更する必要がありますか?同じ「make」プログラムを使用している場合は、複数のプロジェクトを自動化できますか?
これは、ワークロードがI / Oバインドされていないと仮定します。
ベストアンサー1
指定されたNmake -jN
は固定された最大値ですが、システムの負荷に応じて並列操作を制限する方法があります。を参照してmake -l load
ください。make --load-average[=load]
引用:
https://www.gnu.org/software/make/manual/make.html#Options-Summary https://www.gnu.org/software/make/manual/make.html#Parallel
-l load
最新のgnu makeはこのオプションをサポートしていますが、インストールされているバージョンは古いバージョンかもしれません。
負荷選択の例は次のとおりです。まず-jN
、サーバーで最高のパフォーマンスを得るように調整し(ビルドソースも試してください)、負荷平均を観察してから、値がビルドアクティビティをサポートするのに十分になるようにgcc -pipe
調整します。-l load
チューニングは、-l load
サーバーの過負荷を防ぐのにも役立ちます。