makeコマンドのコンパイルを「-j」オプションで高速化

HOMEリナックスマスター.JP 公式ブログLinux情報・技術・セキュリティ > makeコマンドのコンパイルを「-j」オプションで高速化

Linuxサーバー管理者の技術を2日で学べる「初心者向けリナックスセミナー」
30日掛かって覚えるプロの技術を、たった2日間で学習できます。
リナックスマスター2日間集中セミナー【CentOS7版】
 (今すぐ↑をクリックしてください。)

MySQLなどをmakeでコンパイルしようとした場合、処理に時間が掛かります。
そのような場合、マルチプロセッサ環境であれば、makeコマンドに「-j」オプションを
付けて実行すると、コンパイルが並列処理され、時間短縮することができます。

書式
make -j ジョブ数

■実行環境
・VMware Player5
・仮想マシンのスペック
 ・CentOS6.4
 ・メモリ  :1GB
 ・CPUコア数:4

コンパイルソフト:Apache 2.2.24

処理時間を測定するために、timeコマンドを付けてmakeを実行しました。

■-jオプション無しで実行
[root@Tiger httpd-2.2.24]# time make
real 5m2.725s
user 0m49.494s
sys 5m14.875s

■-jオプション付き ジョブ数2
[root@Tiger httpd-2.2.24]# time make -j2
real 4m37.823s
user 1m21.068s
sys 8m40.777s

■-jオプション付き ジョブ数3
[root@Tiger httpd-2.2.24]# time make -j3
real 4m28.039s
user 2m9.022s
sys 10m57.001s

■-jオプション付き ジョブ数4
[root@Tiger httpd-2.2.24]# time make -j4
real 4m34.442s
user 2m41.338s
sys 12m47.424s

■-jオプション付き ジョブ数5
[root@Tiger httpd-2.2.24]# time make -j5
real 4m28.378s
user 2m35.472s
sys 12m35.351s

■-jオプション付き ジョブ数6
[root@Tiger httpd-2.2.24]# time make -j6
real 4m32.672s
user 2m35.304s
sys 12m52.230s

■-jオプション付き ジョブ数7
[root@Tiger httpd-2.2.24]# time make -j7
real 4m29.440s
user 2m30.057s
sys 12m41.908s

■-jオプション付き ジョブ数8
[root@Tiger httpd-2.2.24]# time make -j8
real 4m32.804s
user 2m31.532s
sys 12m57.533s

ちなみに、mysql 5.6.10でテストを行った結果は以下のとおりです。
■-jオプション無しで実行
[root@Tiger mysql-5.6.10]# time make
real 25m20.778s
user 18m35.102s
sys 5m7.402s

■-jオプション付き ジョブ数8
[root@Tiger mysql-5.6.10]# time make -j8
real 16m13.095s
user 33m56.244s
sys 14m29.432s

今回の結果から、ある程度CPUに負荷が掛かっても良い環境であれば、
-jオプションを付けてmakeを実行したほうがコンパイルが早く終わります。



■CentOS7.1サーバー構築マニュアルを無料プレゼント
 「CentOS7.1」のサーバー構築手順、「VMware Player」の
 ダウンロードとインストール手順をまとめたマニュアルを
 無料でプレゼントしています。


 詳しくは↓のページで説明していますので、今すぐクリックしてダウンロードしてください。
 無料マニュアルをダウンロードする  無料マニュアルをダウンロードする