私はBuildRootを使用してVirtualBox内でルートファイルシステムイメージを構築しています。ビルド速度が非常に遅いです。
仮想マシンで「make -j2」を実行するとどのような利点がありますか?仮想マシンの/proc/cpuinfoは次のとおりです。
smachin@smachin-ubuntu:~/neo-build/rfs$ 猫 /proc/cpuinfo プロセッサー: 0 Vendor_id: 本物のインテル CPUシリーズ:6 モデル: 58 モデル名: Intel(R) Core(TM) i7-3687U CPU @ 2.10GHz ステップ数:9 マイクロコード: 0x19 CPU MHz: 2594.218 キャッシュサイズ:6144KB 実際のID:0 兄弟姉妹:1 コア数:0 CPUコア数:1 カプサイシン:0 初期の山:0 FPU:はい fpu_Exception:はい CPUIDレベル:5 職場:はい フラグ: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx rdtscp lm Constant_tsc rep_good nopl pni monitor ssse3 lahf_lm 報告ミップ:5188.43 クロールフラッシュサイズ:64 キャッシュソート:64 アドレスサイズ:36ビット物理アドレス、48ビット仮想アドレス エネルギー管理:
答え1
はい、できます。システムがI / OバインドされていてCPUにバインドされている場合、-j2
他のプロセスがディスクI / Oを実行している間はより多くのCPUが使用されます。しかし、ディスクが要求するプロセスの数を増やすと、ディスクヘッドの移動に対する競合が遅くなる可能性があります。
Stephen Jeterが言ったようにテストしてみてください。
time make clean all
time make -j 2 clean all
time make -j 3 clean all
VirtualBoxにあります。このマシンがあると仮定すると、VMをシャットダウンし、CPUコアの数を増やし、起動し、ビルドを実行してからシャットダウンして、1つのコアに戻すことができます。
あるいは、2コアとして残すこともできます。 Linuxは非常に効率的です。仮想マシンに2つのコアを提供しても、ホストオペレーティングシステムがそのコアを使用できなくなるわけではありません。ゲストオペレーティングシステムが何もしない場合、ホストはこれらのコアを使用できます。