当我一次安装多个软件包时,我使用emerge --jobs=8 firefox vim
.
这将安装软件包,但不会并行运行所有内容。例如,它会在编译 vim 之前等待编译 rust,而此时只有 1 个作业(rust)正在运行。
有什么办法可以改善这一点吗?
答案1
在这种情况下,作业意味着线程。因此,在您的示例中,rust 包将在 8 个线程中编译。我认为没有一种方法可以在一个命令中并行编译多个包,因为这会适得其反。但是您可以运行第二个emerge实例来安装vim,并且第一个emerge实例会花费一些CPU时间并并行编译和安装vim包。请始终记住,多个emerge 实例共享CPU 时间。
答案2
我在屏幕上执行此操作,运行不同的 emerge 实例。请记住,虽然编译可以并行进行(使用共享资源),但安装经常必须等待其他安装完成,因此最终您可能不会获得那么多时间。