spamd 在我的 AWS EC2 实例上占用了大量 CPU 积分

spamd 在我的 AWS EC2 实例上占用了大量 CPU 积分

我在 AWS 上有一个 EC2 微型实例,正在运行 spamassassin。最近,它在 5 分钟内持续使用大约 0.5 个 CPU 积分。(这意味着我的 CPU 在 5 分钟内以 50% 的利用率运行)。

有没有办法可以降低 spamd 的运行频率或者减少它所占用的 CPU 总量?

谢谢!

编辑:这篇文章错误地指出 fail2ban 导致了 CPU 占用。关闭它后,它仍然使用大量 CPU 信用,并找到了另一个罪魁祸首。

答案1

Spamd 不是按计划运行的。只要有进程调用它,它就会运行。

没有简单的要点,很多答案是“这取决于您的设置”,但是(假设您有一个正常的电子邮件服务器/用户配置文件)您可以通过引入灰名单来大大减少服务器需要处理的电子邮件数量。

(灰名单是一种删除垃圾邮件的轻量级方法,通常它可以删除大约 80% 的垃圾邮件,而且通常大多数电子邮件都是垃圾邮件,因此它可以产生很大的不同。它的工作原理是允许其他服务器连接,发送发件人和收件人地址,如果它无法识别这些地址,它会将它们添加到列表中并关闭连接 - 合法邮件服务器应该尝试重新发送电子邮件,但许多垃圾邮件系统却不会这样做。缺点是,当人们第一次互相交流时,第一封电子邮件需要更长的时间才能发送出去)。

我可能不会建议这样做,但您也可以尝试使用黑名单来阻止来自可能的垃圾邮件来源的电子邮件到达 spamassassin 之前。这比使用 spamassassin 检查电子邮件要轻松得多,但会给予 RBL 很大的信任(可能太过信任)。

如果您的服务器发送了大量电子邮件,并且您确定这些邮件都是合法的,那么您可能需要绕过外发邮件的垃圾邮件过滤。但是,如果通过您的服务器发送电子邮件的人受到攻击,那么您就会更快地被列入黑名单 - 您可以通过引入配额来解决这个问题 - 例如“cluebringer/policyd”。

最后,您可以删除 spamassassin 的部分功能,以减少对 CPU 的占用。不过这可能不是一个好主意。

相关内容