如何并行运行多个新兴作业?

如何并行运行多个新兴作业?

当我一次安装多个软件包时,我使用emerge --jobs=8 firefox vim.

这将安装软件包,但不会并行运行所有内容。例如,它会在编译 vim 之前等待编译 rust,而此时只有 1 个作业(rust)正在运行。

有什么办法可以改善这一点吗?

答案1

在这种情况下,作业意味着线程。因此,在您的示例中,rust 包将在 8 个线程中编译。我认为没有一种方法可以在一个命令中并行编译多个包,因为这会适得其反。但是您可以运行第二个emerge实例来安装vim,并且第一个emerge实例会花费一些CPU时间并并行编译和安装vim包。请始终记住,多个emerge 实例共享CPU 时间。

答案2

我在屏幕上执行此操作,运行不同的 emerge 实例。请记住,虽然编译可以并行进行(使用共享资源),但安装经常必须等待其他安装完成,因此最终您可能不会获得那么多时间。

相关内容