私はUbuntu 10.04を使ってLinuxボックスを構築しています。どうすればビルドを高速化できますか? CPUが4つ、RAMが多い。プロセスグループのサイズを-20に調整しました。私ができることは他にありますか?
答え1
ほとんどのソフトウェアビルドプロセスはmake
。make
-j
make -j 8
答え2
プロセスグループのサイズを-20に戻すのは悪い考えです。この良好なレベルは、最も優先順位の高いシステムコアタスクでのみ使用する必要があります。そうしないと、応答性が低下したり、システムがハングする可能性があります。そして潜在的なコンパイル時間の利得は最小化されます。
とは別にケイロップは何かを提案しました。、コンパイルをたくさんしたらアクセラレーションビルドを使うこともできます。コンパイラキャッシュまたは、次のコマンドを使用して、ネットワーク内の複数のシステムにビルドジョブをデプロイします。ストリートまたはアイスクリーム。
答え3
rozcietrzewiaczの返信に追加:
最初の大きな改善はディスクです。より速いIOPディスク、10,000または15,000rpmで動作するディスク、好ましくはSSDを使用し、その後は財布によってのみ制限される。
任意の例、Samsung 6Gbps SATA 2 SSD:
http://www.engadget.com/2011/08/17/samsungs-6gbps-ssd-gets-a-consumer-label-october-ship-date/
OCZは500,000 IOPという最も極端なハードウェアを持っています。
http://www.engadget.com/2011/08/02/oczs-z-drive-r4-pcie-ssd-offers-2-800mb-sec-500-000-iops-pl/
ツリーをtmpfs
ファイルシステムにコピーすることもできますが、Linuxのファイルキャッシュはすでにかなり良いです。
クイック開発を使用するためにすべての最適化が無効になると、ビルドが速くなります。これは、プロセッサが遅い90年代の調整である傾向があり、現在はほぼIOに関するものです。
私が想像できる最も複雑なアプローチは、cramfs
変更されていないツリーの大部分を保存することです。圧縮ファイルシステムを使用すると、ディスクアクセスの数が減ります。