Exim 存在 CPU 使用率过高和明显内存泄漏的问题

Exim 存在 CPU 使用率过高和明显内存泄漏的问题

我的服务器出了问题,希望您能帮助我。

罪魁祸首似乎是 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找出答案

相关内容