[exim] Re: Bug#270735: exim4: Self-denial of mail service

Αρχική Σελίδα
Delete this message
Reply to this message
Συντάκτης: Greg Kochanski
Ημερομηνία:  
Προς: Andreas Metzler
Υ/ο: exim-users, 270735-forwarded, Greg Kochanski
Αντικείμενο: [exim] Re: Bug#270735: exim4: Self-denial of mail service
I think this could be implemented using the /proc file system.
It shouldn't be much more OS-specific than obtaining a system load
value. Most unices have a program line free or memstat, so the
data must be available. Windows also makes it available
to user programs, somehow.

On Linux the memory statistics you might want can be found in
/proc/meminfo ,
just as /proc/loadavg has the system load.
I would guess that when MemFree < 10% of MemTotal
and/or Active > 70% of MemTotal, you're starting to get into trouble.

This may actually be more relevant than my other suggestion,
as system performance degrades slowly when the load average
gets high, but everything goes to heck as soon as you run
out of memory and the computer starts thrashing.

And, just as with the limits on the load average, if the numbers cannot
be obtained on a specific platform, then exim can just do without them
and the memory limits.


Andreas Metzler wrote:
> Hello,
> This is <http://bugs.debian.org/270735>. - I'll first quote the
> original report unmodified and add my own thoughts below. (Please keep
> 270735@??? in cc on followups).
>
> On 2004-09-09 Greg Kochanski <gpk@???> wrote:
>>Some spam filters, especially Bayesian filters, can take
>>megabytes of memory. (I have one, which when loaded with
>>10000 spam messages and 10000 good messages, takes close to 100MB.)
>>
>>It makes sense, then, that exim have functionality to limit
>>delivery when the free memory of the OS is very small.
>>One could also limit SMTP acceptance when the free RAM
>>is small and the system is starting to swap.
>
>
> Should exim really have that fine grained knowledge for a specific
> target platform (detect "when the free RAM is small and the system is
> starting to swap") built in?