Dovecot грузит CPU

Проблема: Со слов заказчика: Тормозит Веб-сервер, большое количество процессов httpd (более 400). Симптомы:

Apache действительно показывает большое количество процессов, но внешняя активность клиентов - не высокая. Смотрим на загрузку CPU:

image

Смотрим, чем занят Dovecot:

image

Считаем файлы в хранилище почты и видим постоянный прирост, при отсутствии внешнего трафика в Exim.

-bash-4.1# find /var/...mail/domain.com/ -type f | wc -l
679728
# ... 3 сек
679747
# ... 3 сек
679754
# ... 3 сек
679758
# ... 3 сек
679767

Находим почтовый ящик, в котором происходит рост количества писем (метод перебора). Количество писем в ящике: 564 314 Количество писем в 1-ой папке INBOX. более 220 000.

Останавливаем Dovecot. Удаляем из всех папок данного почтового ящика все файлы dovecot*:

../support/.maildir/dovecot.index
../support/.maildir/dovecot.index.cache
../support/.maildir/dovecot.index.log
../support/.maildir/dovecot.mailbox.log
../support/.maildir/dovecot-uidlist
../support/.maildir/dovecot-uidvalidity

Запускаем Dovecot. Заходим Web-клиентом на почту, проверяем видимость писем - все Ок. Dovecot при обращении клиента в папе восстанавливает файлы, которые ранее удалили. Это занимает какое-то время и немного подгружает io.

Загрузки CPU процессами Dovecot - НЕТ.

Продолжение: На след.день заказчик обращает внимание, что входящая почта на вчерашний проблемный ящик, не сортируется по папках. На сервере установлена панель ISP. Сортировки почты выполняется Procmail-ом. Для данного ящика оказалось 15 правил.

Включили лог Procmail c отладкой.

$ cat /etc/procmailrc
...
LOGFILE="/var/log/procmail/procmail.log"
DEBUG=yes
VERBOSE=yes
...

Ждем повторения проблемы.