EMERGE_DEFAULT_OPTS

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page EMERGE DEFAULT OPTS and the translation is 100% complete.

EMERGE_DEFAULT_OPTS は、emerge コマンドラインの末尾に付加される項目を定義する、Portage のための変数です。

EMERGE_DEFAULT_OPTS は、同時に実行できるパッケージビルド数を指定する --jobs N オプションや、システム負荷 (ロードアベレージ) の最大値によってどこまでの並列度を許容するかを指定する --load-average X.Y オプションを介して、Portage に並列 emerge 操作を許可するためによく使用されます。

一般的な用法

並行ビルド

--jobs N(短縮形:-jN)を使うことで、N個のジョブを同時に実行します(引数なしでは、-jは可能な限り多くのジョブでプロセッサを溢れさせます。そしてこれは非推奨です)。一般的には、Nの値にはプロセッサコア数と同じ値を、ただし RAM 総容量 / 2GB を超えないように減らした値を設定します。

例えば、3 つまでのビルドジョブを同時に行う場合:

ファイル /etc/portage/make.conf3ジョブ並行のビルドを有効にする例
EMERGE_DEFAULT_OPTS="--jobs 3"

--load-average X.Y(短縮形:-lX.Y)を使用することで、emergeはシステムのロードアベレージをX.Y(浮動小数点数)未満に抑えようと試みます。もし--jobsが一緒にセットされている場合、emergeはパラメータが指示している制限以内で実行されます。

ロードアベレージの値はtopuptimeで表示される値と同一で、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個のジョブを作成することを考慮して設定する必要があります。

これらの2つの設定は、たくさんのソースコードファイルを含む長いemergeの際に、--jobsパラメータを最大限に活かすのに適しています。これらはまた、emergeのエラーを起こす場合がありますので、注意して使い、もし問題が発生したのならば、これらをコメントアウトするようにしてください。

See also