![Exim 存在 CPU 使用率过高和明显内存泄漏的问题](https://linux22.com/image/515471/Exim%20%E5%AD%98%E5%9C%A8%20CPU%20%E4%BD%BF%E7%94%A8%E7%8E%87%E8%BF%87%E9%AB%98%E5%92%8C%E6%98%8E%E6%98%BE%E5%86%85%E5%AD%98%E6%B3%84%E6%BC%8F%E7%9A%84%E9%97%AE%E9%A2%98.png)
我的服务器出了问题,希望您能帮助我。
罪魁祸首似乎是 exim。CPU 使用率一直很高,内存使用率也无缘无故地不断上升(这是不是一个使用率很高的服务器)。
为了演示该问题,我运行了以下命令:
root@server [/var/log]# service exim restart; for iter in `seq 0 9`; do date; top -n1 | grep exim; sleep 10; done
Shutting down exim: [ OK ]
Shutting down spamd: [ OK ]
Starting exim: [ OK ]
Sun Jun 6 18:12:07 CDT 2010
62592 root 25 0 11400 6572 2356 R 51.5 1.3 0:00.92 exim
62587 mailnull 18 0 7548 1212 792 S 0.0 0.2 0:00.00 exim
Sun Jun 6 18:12:18 CDT 2010
62592 root 25 0 28768 23m 2356 R 57.4 4.6 0:06.75 exim
62587 mailnull 18 0 7548 1212 792 S 0.0 0.2 0:00.00 exim
62588 root 18 0 7536 2052 1648 S 0.0 0.4 0:00.00 exim
Sun Jun 6 18:12:28 CDT 2010
62592 root 25 0 36408 30m 2356 R 55.5 6.0 0:12.59 exim
62587 mailnull 18 0 7548 1212 792 S 0.0 0.2 0:00.00 exim
62588 root 18 0 7536 2052 1648 S 0.0 0.4 0:00.00 exim
Sun Jun 6 18:12:39 CDT 2010
62592 root 25 0 41396 35m 2356 R 53.5 7.0 0:18.35 exim
62587 mailnull 18 0 7548 1212 792 S 0.0 0.2 0:00.00 exim
62588 root 18 0 7536 2052 1648 S 0.0 0.4 0:00.00 exim
Sun Jun 6 18:12:49 CDT 2010
62592 root 25 0 45868 40m 2356 R 47.5 7.8 0:24.06 exim
62587 mailnull 18 0 7548 1212 792 S 0.0 0.2 0:00.00 exim
62588 root 18 0 7536 2052 1648 S 0.0 0.4 0:00.00 exim
Sun Jun 6 18:13:00 CDT 2010
62592 root 25 0 50056 44m 2356 R 55.3 8.6 0:29.84 exim
62587 mailnull 18 0 7548 1212 792 S 0.0 0.2 0:00.00 exim
62588 root 18 0 7536 2052 1648 S 0.0 0.4 0:00.00 exim
Sun Jun 6 18:13:10 CDT 2010
62592 root 25 0 53888 47m 2356 R 55.2 9.4 0:35.63 exim
62587 mailnull 18 0 7548 1212 792 S 0.0 0.2 0:00.00 exim
62588 root 18 0 7536 2052 1648 S 0.0 0.4 0:00.00 exim
Sun Jun 6 18:13:21 CDT 2010
62592 root 20 0 56920 50m 2356 R 55.3 9.9 0:41.15 exim
62587 mailnull 18 0 7548 1212 792 S 0.0 0.2 0:00.00 exim
62588 root 18 0 7536 2052 1648 S 0.0 0.4 0:00.00 exim
Sun Jun 6 18:13:31 CDT 2010
62592 root 25 0 60380 54m 2356 R 53.4 10.6 0:46.98 exim
62587 mailnull 18 0 7548 1212 792 S 0.0 0.2 0:00.00 exim
62588 root 18 0 7536 2052 1648 S 0.0 0.4 0:00.00 exim
Sun Jun 6 18:13:42 CDT 2010
62592 root 22 0 63400 57m 2356 R 49.5 11.2 0:52.74 exim
62587 mailnull 18 0 7548 1212 792 S 0.0 0.2 0:00.00 exim
62588 root 18 0 7536 2052 1648 S 0.0 0.4 0:00.00 exim
一段时间后,它会达到每 10 秒拾取 1 个额外 MB 的速度。
我检查了 exim 日志,其中没有任何消息传入。
exim -bV
显示:
Exim version 4.69 #1 built 16-Mar-2009 14:44:43
Copyright (c) University of Cambridge 2006
Berkeley DB: Sleepycat Software: Berkeley DB 4.2.52: (February 22, 2005)
Support for: crypteq iconv() IPv6 PAM Perl OpenSSL Content_Scanning Old_Demime Experimental_SPF Experimental_SRS Experimental_DomainKeys
Lookups: lsearch wildlsearch nwildlsearch iplsearch dbm dbmnz passwd
Authenticators: cram_md5 dovecot plaintext spa
Routers: accept dnslookup ipliteral manualroute queryprogram redirect
Transports: appendfile/maildir autoreply pipe smtp
Size of off_t: 8
Configuration file is /etc/exim.conf
我有点不知道该怎么做。任何建议都会受到欢迎!
答案1
事实证明,问题与我设置的一些帐户过滤有关(这是一个基于 cPanel 的服务器)
一个应该过滤多个地址的电子邮件地址无法正常工作。我发送给它的一些测试电子邮件在那里停留了 7 天。当我清除它们时,问题就消失了。
不确定导致此故障的机制是什么,但目前问题已经解决。
答案2
我在我们的服务器上发现了同样的问题,并将其报告给了 cPanel。cPanel 支持确认了这个问题,他们说这肯定是一个错误。他们没有说什么时候会修复。为了避免这个问题,请检查 cPanel 帐户过滤并确保操作数不超过 6。否则,每封电子邮件都会出现无限循环。
您可以使用strace -p 进程ID找出答案