我有一台有 4 个 CPU 的 PC,正在运行四个作业。我想在其上运行另一个作业,但只有当其中一个 CPU 可用时才可以。有没有简单的命令可以做到这一点(我知道这是集群管理系统所做的,但应该有一个更简单的解决方案?)?
答案1
http://manpages.ubuntu.com/manpages/trusty/man2/nice.2.html
Nice 允许您更改进程的优先级。
例如
nice 19 yourprogram
将以最低优先级运行您的程序,这意味着它仅在没有其他[更高]进程运行时才会运行。
答案2
at 包中的命令batch
会在系统平均负载低于设定的阈值(默认为 1.5)时安排运行作业。由于您有 4 个 CPU,因此您可能需要-l 4
在 /etc/init/at.conf 中添加命令,将该限制提高到 4,而不是 1.5。