我想限制特定用户在任何时刻可以使用的 CPU 核心数量。我该如何在 Linux 上执行此操作?
答案1
据我所知,除了使用 docker 作为虚拟环境并将整个容器限制为选定的核心之外,您不能这样做。例子:
docker run --cpuset-cpus="0"
大多数时候,您不应该被迫使用这样的解决方案。如果其中一位用户导致问题,请使用/etc/security/limits.conf
添加条目:
username - priority 19
这应该使所有用户进程都以优先级 19(最低)运行,并且即使消耗大量 CPU,也不应该干扰计算机上的其他程序。
另外,如果这是单个进程(而不是用户)的问题,那么您可以使用nice
或cpulimit
/cgroups