procmail
[Top] [All Lists]

Cyrus deliver/procmail lack of resources

1998-01-07 19:56:58
Since I'm not as experienced at Linux/Unix as some of you are, I thought I'd
send this question out to see who might know what's going on...

I've got Cyrus 1.5.2 running on a RedHat Linux box (using kernel 2.0.33),
with sendmail 8.8.5. This all works fine and dandy on a P-90 machine with
16M of RAM and 32M of swap.

Recently, I modified the sendmail.cf file to pipe messages through procmail
before sending them to deliver, so that I can use system-wide procmail
recipes for spam filtering. However, yesterday we had a client send a 22
megabyte e-mail message (on purpose, no less) and the system just came to
its knees trying to deliver it to the user's mailbox.

After messing with it for a while, I took procmail out of the equation, and
sendmail was able to send the message directly to deliver without a problem.

The machine currently has /var/spool/mqueue on a separate disk from the
Cyrus spool area, but /tmp & /var/tmp are on the same disk the Cyrus spool
(as is the swap area for the kernel).

My question is: What resource do you think ran out here? I know I didn't run
out of disk space, so I'm wondering if the problem was just contention for a
single disk, or if the process of feeding the message through a pipe to
procmail caused the system to run out of RAM...

Does Linux store the entire contents of the pipe in memory while the
receiving end accepts and processes it, or does it get stored somewhere on
disk (like DOS and Windows NT do)? Alternatively, I wonder if procmail
accepted the whole message from the pipe, storing it temporarily somewhere,
but then ran out of memory while trying to apply recipes against it.

<Prev in Thread] Current Thread [Next in Thread>