在我们的一个 debian squeeze 服务器上,我们使用 postfix + amavis + dovecot 作为邮件服务器。Spamassassin 是 amavis 的一部分。
每天一次,进程“sa-learn”会启动。它是 spamassassin 的一部分,用于训练贝叶斯过滤器。这是件好事,但不幸的是,它会大大耗尽服务器资源 - 负载从 0.5 上升到 12,服务器变得无响应。我不得不终止 sa-learn 进程。
我能做什么? 有没有机会让 sa-learn 表现良好? 如果没有,我可以在哪里禁用 sa-learn? (我没有找到任何 cron 启动脚本 - 我发现对 sa-learn 的唯一引用是在 /usr/sbin/amavisd-new-cronjob,我将其注释掉,但没有任何效果。
答案1
我遇到了类似的响应时间问题,直到我发现 SpamAssassin 数据库需要一些最低限度的持续维护。您是否发出
sa-learn --force-expire
每天?可能是由于缺乏维护,数据库变得笨重,需要“稍微修整一下”。尝试将其放入每日 cron 作业中,看看下次sa-learn
运行时响应是否更好。
答案2
我认为您不会想禁用 sa-learn。我会这样做:
- 了解 sa-learn 是如何被调用的 (
crontab -l
,grep -r -i sa-learn /etc/*
) - 使用以下方式启动 sa-learn好的并监控负载