Sendmail

Материал из wiki.p3.ru

Решение частой проблемы с большим количеством процессов Sendmail

Иногда бывает, что Sendmail расходует чересчур много ресурсов, т.е. запущено большое количество его процессов. Это может быть вызвано большим количеством спам-ботов, которые подключаются к серверу и не закрывают за собой соединение.

В таких случаях следует настроить таймауты в конфигурации sendmail.

Файл конфигурации в системе FreeBSD находится в /etc/mail/имя-вашего-хоста.mc

Если этот файл отсутствует, то создаем его

# cd /etc/mail
# make

Откройте его вашим любимым текстовым редактором и напишите в его конце перед упоминанием о MAILER (строка MAILER(local)) следующее:

define(`confTO_CONNECT', `30s')dnl
define(`confTO_IDENT', `0')dnl
define(`confTO_COMMAND', `30s')dnl
define(`confTO_DATABLOCK', `2m')dnl
define(`confTO_STARTTLS', `2m')dnl

Тем самым мы установили таймаут после которого соединение будет разрываться сервером. Каждый процесс sendmail занимает в памяти от одного до четырех мегабайт, поэтому также установим ограничение на количество его процессов в 30 одновременно работающих процессов:

define(`confMAX_DAEMON_CHILDREN', `30')dnl

Ограничим количество одновременно устанавливаемых соединений в секунду

define(`CONNECTION_RATE_THROTTLE', `4')

После редактирования следует пересобрать конфиг и перезапустить sendmail командой make install restart

# cd /etc/mail
# make
/usr/bin/m4 -D_CF_DIR_=/usr/local/share/sendmail/cf/   /usr/local/share/sendmail/cf/m4/cf.m4 ls.ispvds.com.mc > ls.ispvds.com.cf
# make install
install -m 444 ls.ispvds.com.cf /etc/mail/sendmail.cf
# make restart
Restarting: sendmail/etc/rc.sendmail: