限制单个进程的处理器时间

限制单个进程的处理器时间

我们为我们大学的许多学生提供共享系统/CPU。每个人都可以启动进程,并且用户可以使用的处理能力受到限制。

这种方法效果相当好,除了一些偶尔不是恶意而是无能的情况,在这些情况下,用户以某种方式设法启动和破坏进程,或者对其程序的运行时间毫无意义。这可能会导致诸如 texworks 进程或忘记的 jar 突然占用 1100 个 CPU 小时等问题。

我们能否以某种方式向用户发出“信号”,表明当他们启动进程时,进程实际上应该占用 10/100+h 的 CPU 时间。理想情况下,不会对“偶尔”使用 RDP/网络浏览器的用户产生影响。

像 cpulimit/每个用户最大使用量这样的工具目前似乎没有必要,并且会超出监管量。理想情况下,限制应该是每个进程,并且边界应该由用户设置,不是为了限制用户,而是为了指定“x”的 cpu 使用量,这样我们就可以终止或限制那些进程偶然占用不合理的资源。

相关内容