Well, those out of memory errors are created by the kernel's OOM killer -- it randomly chooses processes to kill when the system starts running dangerously low on memory (it may not be totally random, there are probably some heuristics involved, I'm not too sure). You mentioned that spam-assassin was using up a lot of memory. Just guessing here, but perhaps it has a memory leak (doubtful or many others would be noticing it) or there's a lot of unprocessed mail in qmail's delivery queue?
As for the 1MB free, I've got 1GB of RAM in my machine and it shows 3MB free. A lot of that is being used to cache data, though (700+ MB). I'd suggest running top and when it's running type s1 (1 second refreshes) then On<ENTER> (sort display by memory usage). See what processes are using up RAM and go from there.
--mascdman
|