qmail-smtpd satura la CPU, relaylock

Afecta a algunas versiones de plesk LINUX a partir de la 8.0.1

Síntomas:
————
1. La carga sube sin causa aparente hasta niveles muy exagerados llegando a colapsar el sistema. Se utiliza el 100% de la CPU. Se llega a mediciones de “load average” superiores a 100

2.- En el análisis del maillog se detectan muchos procesos “relaylock”

3.- Observamos procesos com el siguiente:

/var/qmail/bin/qmail-smtpd /var/qmail/bin/smtp_auth /var/qmail/bin/true /var/qmail/Bin/cmd5checkpw /var/qmail/bin/true

Solucion:
———–

cd /var/qmail/control

ls -la

si aparecen los archivos dhparam512.pem y dhparam1024.pem, proceder así:

cp dhparam512.pem dhparam512.pem.copia (lo copiamos por si acaso)
mv dhparam512.pem dh512.pem (lo renombramos)

cp dhparam1024.pem dhparam1024.pem.copia (lo copiamos por si acaso)
mv dhparam1024.pem dh1024.pem (lo renombramos)

Ahora reiniciamos el qmail

service qmail restart

Si falla el reinicio, reinicamos xinetd y luego qmail:

service xinetd restart
service qmail restart

Una vez arrancado correctamente, verificar en el maillog (/usr/local/psa/var/log/mailllog) que el correo funciona correctamente. Observaremos que la carga del sisteam se ha reducido de forma considerable.

¿Por qué?
———–
los archivos .pem son los certificados que utiliza qmail-smtpd para las sesiones TLS. Qmail intenta abrirlos para cada una de las conexiones entrantes. Si no están disponibles, los genera “on the fly”, generando una carga muy alta de CPU (de hecho puede llegar a consumir toda la CPU incluso en sistemas con 4 procesadores y varios GB de RAM).

Originalmente los archivos de los certificados son “dh512.pem” y “dh1024.pem”, pero en algunas versiones de plesk han sido substituidos por “dhparam512.pem” y “dhparam1024.pem”, que no son identificados por qmail como archivos de certificado. Cambiándoles el nombre y rearrancando el qmail solucionamos el problema.

FUENTE: http://www.csoporte.org/support/index.php?_m=knowledgebase&_a=viewarticle&kbarticleid=92