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

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

この記事の監修:宮崎智広(Linux教育歴15年以上・受講者3,100名超)

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

「このままじゃマズい」と感じていませんか?
参考書を開く気力もない、同年代に取り残される不安——
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
図解60P/登録10秒/解除も3秒 / 詳細はこちら

■-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を実行したほうがコンパイルが早く終わります。


無料メルマガで学習を続ける

Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。

登録無料・いつでも解除できます

暗記不要・1時間後にはサーバーが動く

3,100名以上が実践した「型」を無料で公開中

プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。

登録10秒/合わなければ解除3秒 / 詳細はこちら

Linux無料マニュアル(図解60P) 名前とメールで30秒登録

宮崎 智広

この記事を書いた人

宮崎 智広(みやざき ともひろ)

株式会社イーネットマーキュリー代表。現役のLinuxサーバー管理者として15年以上の実務経験を持ち、これまでに累計3,100名以上のエンジニアを指導してきたLinux教育のプロフェッショナル。「現場で本当に使える技術」を体系的に伝えることをモットーに、実践型のLinuxセミナーの開催や無料マニュアルの配布を通じてLinux人材の育成に取り組んでいる。

趣味は、キャンプにカメラ、トラウト釣り。好きな食べ物は、ラーメンにお酒。休肝日が作れない、酒量を減らせないのが悩み。最近、ドラマ「フライトエンジェル」を観て涙腺が崩壊しました。


Linux無料マニュアル(図解60P) 名前とメールで30秒登録