如何阻止 ClamAV/Clamscan 在 Ubuntu 18.04 中占用 CPU/耗尽电池?

如何阻止 ClamAV/Clamscan 在 Ubuntu 18.04 中占用 CPU/耗尽电池?

我在联想 X1 Carbon(i7/第 7 代)上运行 Ubuntu 18.04。电池续航时间从非常棒(6-9 小时)变成了糟糕透顶(不到 2 小时)。

使用top&sudo powertop我可以看到大部分负载来自服务clanscan。它占用了我 50% 以上的 CPU。

我不知道为什么会发生这种情况 - 我认为防病毒软件的设计不会使用超过 50% 的(相对)强大的 CPU。

我唯一能想到的就是我确实在跑步同步中- 不断同步共享 Google Drive 中的文件。文件的来来去去会触发 Clamscan 不断扫描文件系统吗?

相比之下,关闭 ClamAV 和 Insync 会使我的基本 CPU 使用率从 66% 降至 8%。

我有两个问题:

  1. 还有其他人遇到过 ClamAV/Clamscan 的这种行为吗?
  2. 有什么办法可以阻止 ClamAV/Clamscan 占用我的 CPU 和耗尽我的电池?

我想另一个问题是,是否有 Clamscan 的替代品,而它们不会试图破坏它们所在的机器?

答案1

如果你已经安装了 Clam GUIclamTk并且clamtk-gnome,(https://dave-theunsub.github.io/clamtk/),调出 GUI,选择 Scheduler 图标,然后设置所需的扫描频率,或者根本不设置。

在此处输入图片描述

答案2

在终端上,你可以做这样的事情:

$ sudo clamscan -ir -l /var/log/clamav.log --exclude-dir="^/proc/|^/sys/|^/dev/" --max-scansize=50M //.

它通过排除不太可能包含问题的目录并限制文件大小来限制 CPU 占用。在下班后运行它也有好处:

$ sudo crontab -e
# m h  dom mon dow   command
*       3       *       *       1,3,5   clamscan -ir -l /var/log/clamav.log --exclude-dir="^/proc/|^/sys/|^/dev/" --max-scansize=50M //.

额外的修复(如果上述方法还不够):限制 clamscan 进程可以使用的最大资源。将以下内容添加到 cron:

cpulimit -l 30 -- clamscan -ir -l /var/log/clamav.log --exclude-dir="^/proc/|^/sys/|^/dev/" --max-scansize=50M //.

这会将 CPU 使用率限制为 30%(或任何其他适合您的值)。

https://www.howtoforge.com/how-to-limit-cpu-usage-with-cpulimit-on-ubuntu-linux有关 cpulimit 的更多详细信息。

相关内容