为了平衡用户在共享计算服务器上的 CPU 消耗,我认为如果可以:
- 为用户的所有进程设置 nice 级别
- 此外,实时调整此级别
- 此外,这个级别不仅适用于未来,而且适用于正在运行的作业
- 此外,从用户当前的整体 CPU 使用率得出这个级别
这个想法是用户可以调用任意数量的作业。但是如果有其他用户,他的优先级会下降,这取决于他要求多少。所以 A 可以一次使用所有 32 个内核。然后另一个用户 B 来了,只开始了一项工作。现在 A 的优先级应该低于 B。然后 C 来启动 8 个作业。他现在应该在 A 和 B 之间有一个优先级。但是,优先级实际上不应该基于进程的数量,而是基于它们的整体 CPU 需求——如果可以确定的话。
我想这可能与将相同份额的 CPU 分配给所有活跃用户相同,只要他们使用它并将其余的分配给所有想要更多的人。
你认为这有可能吗?
你觉得这有道理吗?