EMERGE_DEFAULT_OPTS
Warning: Display title "EMERGE_DEFAULT_OPTS" overrides earlier display title "EMERGE DEFAULT OPTS".
EMERGE_DEFAULT_OPTS 变量条目用于附加到 emerge 命令行。它通常用于通过 --jobs N
和 --load-average X.Y
允许并发的 emerge 操作选项,它告诉 Portage 可以使用多少并行包构建以及可以使用并行性的系统负载(平均负载)。
EMERGE_DEFAULT_OPTS allows for parallel emerge operations through the --jobs N
and --load-average X.Y
options. EMERGE_DEFAULT_OPTS is used by Portage to reference system load, or load average, and limit how many packages are built at a time.
常见用例
并行构建
使用 --jobs N
(简称:-jN
),emerge 一次运行 N 个作业(不带参数,-j
会用尽可能多的作业淹没处理器,不推荐)。 N 的典型值等于内核数。
例如,并行运行最多三个作业:
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="-jN"
与 EMERGE_DEFAULT_OPTS="--jobs K --load-average X.Y"
一起使用时可能创建的任务数量最多为 N*K
。因此,这两个变量需要相互设置,因为它们创建最多 K 个作业,每个作业最多包含 N 个任务。这两个设置适用于包含多个源代码文件的长 emerge 以充分利用 --jobs
参数。在某些情况下,它们也可能导致 emerge 错误,因此请谨慎使用并准备在出现问题时将其注释掉。
See also
- 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.