Wietse Venema escribió:
Santiago Romero:
I case it happens again ... Where or what should I take a look? At OS level (disk or network I/O, processes...) I didn't see anything before the "postfix restart"...

Try ``strace -o filename -p pid'' or the equivalent for your OS.

Hi.

Today happened again in 2 new machines. The last one:


top - 09:44:25 up 19:39,  2 users,  load average: 4.68, 4.87, 4.76
Tasks: 154 total,   6 running, 148 sleeping,   0 stopped,   0 zombie
Cpu(s): 30.7%us, 49.2%sy, 0.0%ni, 11.7%id, 1.3%wa, 1.0%hi, 6.1%si, 0.0%st

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 26926 postfix 20 0 5840 2552 1792 R 43 0.3 276:51.22 qmgr

The problem was never appeared in those machines until, yesterday, I added the following to postfix configuration:

####   /etc/postfix/master.cf
slow     unix  -       -       -       -       -       smtp
 -o syslog_name=postfix-slow


####   /etc/postfix/main.cf
# Special "slow" transport:
slow_destination_recipient_limit=1
slow_destination_concurrency_limit=1
slow_destination_rate_delay=5


Stracing qmgr process for a while (before restarting postfix), showed lots of lines like:

time(NULL)                              = 1236156322
epoll_ctl(8, EPOLL_CTL_DEL, 128, {EPOLLIN, {u32=128, u64=13252642876283682944}}) = 0
fcntl64(128, F_GETFL)                   = 0x802 (flags O_RDWR|O_NONBLOCK)
fcntl64(128, F_SETFL, O_RDWR)           = 0
ioctl(128, FIONREAD, [10])              = 0
poll([{fd=128, events=POLLIN, revents=POLLIN}], 1, 3600000) = 1
read(128, "status\0000\0\0", 4096)      = 10
gettimeofday({1236156322, 508869}, NULL) = 0
close(128)                              = 0
epoll_ctl(8, EPOLL_CTL_DEL, 129, {EPOLLIN, {u32=129, u64=13252642876283682945}}) = 0
fcntl64(129, F_GETFL)                   = 0x802 (flags O_RDWR|O_NONBLOCK)
fcntl64(129, F_SETFL, O_RDWR)           = 0
ioctl(129, FIONREAD, [10])              = 0
poll([{fd=129, events=POLLIN, revents=POLLIN}], 1, 3600000) = 1
read(129, "status\0000\0\0", 4096)      = 10
gettimeofday({1236156322, 510488}, NULL) = 0
close(129)                              = 0
alarm(333)                              = 333
socket(PF_FILE, SOCK_STREAM, 0)         = 13
fcntl64(13, F_GETFL)                    = 0x2 (flags O_RDWR)
fcntl64(13, F_SETFL, O_RDWR|O_NONBLOCK) = 0
connect(13, {sa_family=AF_FILE, path="private/slow"}, 110) = 0
gettimeofday({1236156322, 513893}, NULL) = 0
fcntl64(13, F_DUPFD, 128)               = 128
close(13)                               = 0
epoll_ctl(8, EPOLL_CTL_ADD, 128, {EPOLLIN, {u32=128, u64=13834671851822907520}}) = 0
time(NULL)                              = 1236156322
socket(PF_FILE, SOCK_STREAM, 0)         = 13
fcntl64(13, F_GETFL)                    = 0x2 (flags O_RDWR)
fcntl64(13, F_SETFL, O_RDWR|O_NONBLOCK) = 0
connect(13, {sa_family=AF_FILE, path="private/slow"}, 110) = 0
gettimeofday({1236156322, 515731}, NULL) = 0
fcntl64(13, F_DUPFD, 128)               = 129
close(13)                               = 0
epoll_ctl(8, EPOLL_CTL_ADD, 129, {EPOLLIN, {u32=129, u64=13834671851822907521}}) = 0
time(NULL)                              = 1236156322
ioctl(3, FIONREAD, [100])               = 0
time(NULL)                              = 1236156322


My problem seems to be related to my new "slow" transport. I don't know what I'm doing wrong, because I followed your advice and postfix manuals... but that's happening since I added my "slow" transport ...

I'm using postfix-2.5.1-2ubuntu1.2.

--
Santiago Romero


Reply via email to