LoginSignup
3
2

More than 5 years have passed since last update.

emergeの実行job数を常にCPUコア数+1にする

Posted at

普段は1コアでケチケチ運用しているクラウドサーバーで「よし!emergeするぞ!」と思ってせっかくCPUコア数を増やした...でもjob数の設定が1コアのときのままだった。
そんな悲しい思いをしない方法。


make.confにはMAKEOPTSを書かない。

[root@localhost] # grep -c MAKEOPTS /etc/portage/make.conf
0

そして/etc/profile.d/の下に適当な名前で :arrow_double_down: のようなスクリプトを書く。

[root@localhost] # cat /etc/profile.d/makeopts.sh
#!/bin/bash
export MAKEOPTS="-j$(($(nproc)+1))"

そうするとemergeする際のjob数がコア数+1になる。
4コアのインスタンスならjob数が5に!

[root@localhost] # nproc
4
[root@localhost] # emerge --info | grep MAKEOPTS
MAKEOPTS="-j5"

8コアのインスタンスならjob数が9に!

[root@localhost] # nproc
8
[root@localhost] # emerge --info | grep MAKEOPTS
MAKEOPTS="-j9"

これでたくさんemergeできますね!

ちなみにgenkernelでカーネルをビルドする際はこんな感じで。

[root@localhost] # genkernel --makeopts="-j$(($(nproc)+1))" all
* Gentoo Linux Genkernel; Version 3.4.49.2
* Running with options: --makeopts=-j5 all

* Using genkernel.conf from /etc/genkernel.conf
* Sourcing arch-specific config.sh from /usr/share/genkernel/arch/x86_64/config.sh ..
* Sourcing arch-specific modules_load from /usr/share/genkernel/arch/x86_64/modules_load ..

* Linux Kernel 4.0.5-gentoo for x86_64...
* .. with config file /etc/kernels/kernel-config-x86_64-4.0.5-gentoo
* kernel: Using config from /etc/kernels/kernel-config-x86_64-4.0.5-gentoo
*         Previous config backed up to .config--2015-07-01--03-59-09.bak
* kernel: >> Running mrproper...
...(snip)
3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2