EMERGE_DEFAULT_OPTS
EMERGE_DEFAULT_OPTS は、emerge コマンドラインの末尾に付加される項目を定義する、Portage のための変数です。
EMERGE_DEFAULT_OPTS を使用すると、--jobs N
オプションや --load-average X.Y
オプションを通じて、並列 emerge 操作が可能になります。EMERGE_DEFAULT_OPTS は Portage によって使用され、システム負荷やロードアベレージを参照し、同時にビルドするパッケージ数を制限することができます。
一般的な用法
並行ビルド
--jobs N
引数 (短縮形:-jN
) を使うことで、N 個のジョブを同時に実行します。-j
に引数を渡さない場合、可能な限り多くのジョブをプロセッサに実行させようとします。これは非推奨です。N の値はプロセッサコアあたりの RAM が 2GB を下回るべきではありません。パッケージはこの制約に届くことがあります。
3 つまでのビルドジョブを同時に行うには:
/etc/portage/make.conf
3ジョブ並行のビルドを有効にする例EMERGE_DEFAULT_OPTS="--jobs 3"
--load-average X.Y
(短縮形:-lX.Y
) を使用することで、emerge はシステムのロードアベレージをX.Y (浮動小数点数) 未満に制限しようと試みます。実行されるジョブ数は、この場合も --jobs
引数によって制限されます。
ロードアベレージの値は top や uptime で表示される値と同一で、N コアのシステムでは、ロードアベレージ N.0
は 100% の負荷がかかっている事になります。X.Y=N*0.9
とセットすることで、負荷を 90% に制限し、システムの応答性を維持することができます。
もし
MAKEOPTS="-N"
がEMERGE_DEFAULT_OPTS="--jobs K --load-average X.Y"
と一緒に使用されている場合、作成されうるタスクの数はN*K
です。従って、両方の変数は、これらがそれぞれ最大N個のタスクを作り出すK個のジョブを作成することを考慮して設定する必要があります。MAKEOPTS
および EMERGE_DEFAULT_OPTS
は、たくさんのソースコードファイルを含む長い emerge の際に、--jobs
パラメータを最大限に活かすのに適しています。これらは注意して使用するべきであり、また emerge エラーを発生させる場合はこれらをコメントアウトするべきです。
関連項目
- MAKEOPTS — a variable that defines and limits how many parallel make jobs can be launched from Portage.
- Knowledge Base:Emerge out of memory
- Portage niceness — describes some configuration options available for system administrators to help manage Portage's resource usage.