关于我
 

xjpvictor's Blog
小老鼠,上灯台,两只耳朵竖起来

内存怪兽 clamav


各种折腾·vps

一直以来 vps 上有两个内存怪兽,一个 mysql,一个 clamav,无奈之下把 mysql 放在一台美国的 2G 内存的 vps,把 clamav 放在一台欧洲的 1G 内存的 vps,顺便给欧洲的访问加加速,这样倒也一直相安无事。可是去年大概 10 月份的样子,在一次升级以后欧洲的服务器就一直 CPU 100%,不得已把 clamav 关闭了。直到最近才想着解决这个问题。

先想着限制 clamav 的内存和 CPU 使用,虽然能顺利跑起来,但是 clamav-milter 一直说

failed to initiate streaming/fdpassing

仔细检查日志,发现每当 milter 启动 clamav 的 daemon 时,就会发生 OOM,然后主程序就被杀了。

只好增大内存到 2G,不再限制 clamav 的内存使用,这次就可以顺利运行并扫描邮件了。

本来以为这样就解决了,可是晚上又收到服务器的报警邮件说 clamav-daemon 出错了被重启了,然后那边系统也发来 OOM 的警告。而且这还不是孤立事件,跑了几天发现每天定点定时的发生,只好又去查看日志。

原来每天到了时间就会更新病毒库,这时候 clamav 就开始吃内存,然后就被杀了。

Google 以后看到 clamav 的 blog,原来从 0.103.0 版开始引入了 Non-blocking database reloads,但问题是在更新病毒库的时候内存使用会加倍,还好有个开关,设置

ConcurrentDatabaseReload no

终于消停了,又可以愉快的扫描邮件有没有病毒了。代价是每个月的 vps 成本又上升了。

本文 "内存怪兽 clamav" 由 K. Huang 首先发表于 xjpvictor's Blog 并以 CC BY-NC 4.0 许可证发布 © 2021
转载注明引用来源 https://blog.xjpvictor.info/2021/02/clamav/


推广:使用 Vultr 搭建属于你自己的博客,每月低至 2.5 美元,全球多数据中心,稳定高速

打赏我

评论

你的邮箱地址不会被公开。必填项以 * 标出

无意义或不相关评论将被删除

允许使用以下html标签:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

你可以上传文件,粘贴代码或长文至 Drop.it.r

本博客是言论不自由博客,评论只接受询问及赞同,不同观点请出门左转微博/发表于自己的博客。谢谢合作!

评论意味着你 同意 上传部分私人数据,包括邮箱和 IP, 这些数据不会被分享给第三方,不会用于商业用途或再推广用途。

更多相似文章