我可以限制单个应用程序的 CPU 使用率吗?

我可以限制单个应用程序的 CPU 使用率吗?

有没有什么办法可以阻止 ClamScan 消耗我的服务器 CPU?

答案1

安装CPU限制

sudo apt-get install cpulimit

它提供了不同的方法来限制进程的 CPU 使用率foo,例如 20%

  • 按其进程名称: sudo cpulimit -e foo -l 20

  • 通过其绝对路径名: sudo cpulimit -P /usr/bin/foo -l 20

  • 根据其PID:

    1. 找到进程的 PID:pidof foo。(例如,输出 1881)
    2. sudo cpulimit -p 1881 -l 20

答案2

作为 cpulimit 的替代方案:

您可以使用 nice 命令启动 clamscan,例如

nice -n 19 clamscan

man nice参阅详情。

确实如此不是限制 CPU,但确实降低优先级的过程。

还可以renice改变正在运行的进程的优先级。

答案3

如果你使用 systemd 运行 clamd,则可以使用CPUQuota选项。

编辑/lib/systemd/system/clamav-daemon.service以将此行包含在[Service]部分中:

CPUQuota=20%

然后重启服务

sudo systemctl daemon-reload
sudo systemctl reload-or-restart clamav-daemon

答案4

相关内容