由于我们都不是服务器管理员,我们并不真的想要应用手动更改,但是我们感兴趣的是RAM和cpu分配是否更不等于所有用户.
注意:R-Studio Server Pro版本允许以非常简单的方式为单个用户分配给定数量的内存,但由于我们没有Pro版本,因此我们无法更改这些设置.
cpu时间通常基于每个进程分配,而不是按用户分配(但见下文).
任何准备运行的进程(不休眠,等待I / O等)都被考虑用于调度. (没有准备好运行的进程被忽略,因此“不计数”.(这有点过于简单,但足够接近.))
在最简单的模型中,如果两个用户各自运行一个进程,则每个用户可获得大约一半的可用cpu时间.但是如果userA运行10个进程,而userB运行1个进程,则userA获得90%的cpu,而userB获得10%的cpu(所有其他条件相同).
但是,Linux调度程序可以通过将进程分组在一起,然后在这些分组之间分配cpu时间来优化它.
此外,Linux具有基于会话ID自动分组进程的能力(通常与终端,终端窗口和/或X登录会话相关联).这称为“自动分组”.目标是在一个窗口中运行繁重后台任务的单个用户和在另一个窗口中运行交互式任务的用户仍将看到响应性交互性能.
据我所知,默认情况下在Ubuntu上都启用了这两种功能.
我无法找到有关任务组和/或自动分组在多用户工作负载中的行为方式的信息.理论上,如果调度程序将每个用户放在一个单独的任务组中,那么用户将始终获得对cpu的平衡访问(两个用户为50/50).但是,我没有发现任何说这会自动发生的事情.
进一步阅读:
> https://en.wikipedia.org/wiki/Completely_Fair_Scheduler
> http://manpages.ubuntu.com/manpages/zesty/man7/sched.7.html
> Nice level not working on linux