有没有什么办法可以阻止 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:
- 找到进程的 PID:
pidof foo
。(例如,输出 1881) sudo cpulimit -p 1881 -l 20
- 找到进程的 PID:
答案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
本主题可能有用:如何设置任意进程的最大 CPU 消耗百分比