过去几周,我们公司的邮件服务器时不时会死机。我已准备好多种修复方法,并应用了其中的一些,但我还是不知所措,必须寻求帮助。
我们的邮件服务器运行员工电子邮件(RoundCube 和 Squirrelmail)以及用于内部网的 WordPress 安装。我们运行的是 Ubuntu 10.04、Sendmail、Dovecot、Apache2 和 PHP 5.3.2。我已将所有安装更新为 Ubuntu 支持的最新版本。
在一天中的不同时间,使用 HTOP 监控系统 CPU 使用率时,系统 CPU 使用率会跳升至 100%(两个处理器)。HTOP 的输出始终将这些条目列为有问题的进程,当然 CPU 使用率更高:
5892 www-数据 20 0 64404 25092 6816 S 0.0 0.6 0:01.71 /usr/sbin/apache2 -k 启动
我也在使用 mod_status 模块监控 Apache。
我附上了一次冻结期间的服务器状态页面截图。/email 条目是 RoundCube,/intranet 条目是 Wordpress。
我希望有更多了解 Linux/Apache 的人愿意帮助我。
答案1
看起来 uid 为 976 的用户的已发送文件夹中有一封很长的邮件,我怀疑他的客户端正在反复尝试预览它并拖慢服务器。当处理邮件的时间超过超时时间时,就会发生这种情况。
您是否尝试过切换到其他 php worker(例如 FPM)?上次我检查时 PHP 是单线程执行的。