SpamAssassin/Perl eating enormous amounts of memory?

Andrew Moran sneepre at
Sun Mar 1 21:23:54 PST 2009

Hey guys,

After having lots of problems with memory and 7.1/ZFS, I first  
switched everything to 64-bit (amd64), and then I had a new problem,  
so I eventually gave up and switched back to UFS (saying on amd64  
distro/ports), but I'm still having memory issues.

My current one is that SpamAssassin seems to be periodically  eating  
up all my memory, causing the server to slow to a crawl until the  
kernel kills the process and then I have enormous amounts of free  
memory.  Rinse, repeat.   I thought maybe it had something to do with  
the fact that I was using multithreaded perl (which I wasn't before I  
jumped into 7.1/ZFS), but rebuilding perl (and all its' dependencies)  
without threads didn't help.

I have 8GB of physical memory and 16GB of swap memory.   Here is a  
line from top showing perl taking 21 gigs of memory:

  6035      0      1  76    0 21190M   791M pfault 0   1:20  4.69%  

The error messages I get when this is happening look like:

swap_pager_getswapspace(16): failed
swap_pager_getswapspace(16): failed
swap_pager_getswapspace(16): failed
swap_pager_getswapspace(16): failed
pid 6035 (perl5.8.9), uid 1030, was killed: out of swap space

Obviously I have a memory leak somewhere, but I can't tell where.   I  
upgraded to the latest port (synced and compiled today).     I spent  
the day doing the "portupgrade -f R r p5-Mail-SpamAssassin" to make  
sure everything was rebuilt.  But alas, the problem persists.

Has anyone heard of this?   Or any pointers on what I can do to figure  
out what is causing it?

Your advice is much appreciated.


More information about the freebsd-questions mailing list