限制用户使用 N 个 CPU 核心

限制用户使用 N 个 CPU 核心

我想限制我的系统上的用户只能使用系统的一个核心。

经过搜索,我发现,但我不知道如何使用它。

我还想将该核心的使用限制在特定百分比内,以防止滥用。

答案1

限制核心/CPU 使用率的方法很可能不是您想要的。您是否有一位用户喜欢运行多核/密集型任务,而这最终导致整个服务器速度变慢?解决方案是自动“友好”该用户。

在您的 中/etc/security/limits.conf,您可能想要为滥用用户添加一个条目(-19 到 19,其中 19 是最低优先级):

username    -       priority        19

基本上,这意味着将该用户设置为以较低的优先级运行。如果没有其他人正在运行进程,那么该用户可以使用额外的可用 CPU(空闲 CPU 是浪费的 CPU)。但如果有其他任何进程正在运行,该用户的进程将让出 CPU。我听说服务器设计为以 100% CPU 运行最佳,并且您不能将未使用的 CPU 周期存起来以后使用。

背景:我有一台 Linux 服务器,它的所有核心都以 100% 的 CPU 全天候运行。它同时运行计算密集型财务分析软件、MySQL DB、Tomcat 实例和 Apache/PHP。财务软件会消耗尽可能多的 CPU 和核心,因此我将它们的优先级设置为 19。我希望我的 Tomcat 和 Apache/PHP 服务器能够快速响应,因此我将它们设置为 -2 或 -3。由于正确管理了优先级,无论是否运行财务软件,网页的显示速度都一样快。

相关内容