Andrew Tridgell wrote: > Andrew, > > > So what you should do before generating the leak tool output is to put > > heavy memory pressure on the machine to try to get it to free up as much of > > that pagecache as possible. bzero(malloc(lots)) will do it - create a real > > swapstorm, then do swapoff to kill remaining swapcache as well. > > As you saw when you logged into the machine earlier tonight, when you > suspend the dbench processes and run a memory filler the memory is > reclaimed. > > I still think its a bug though, as the oom killer is being triggered > when it shouldn't be. I have 4G of ram in this machine, and I'm only > running a couple of hundred processes that should be using maybe 500M > in total, so for the oom killer to kick in might mean that the memory > isn't being reclaimed under normal memory pressure. Certainly a ps > shows no process using more than a few MB. > > The oom killer report is below. This is with 2.6.11-rc2, with the pipe > leak fix, and the pgown monitoring patch. It was running one nbench of > size 50 and one dbench of size 40 at the time. > There are various OOM killer improvements and fixes that have gone into Andrew's kernel tree which should be included for 2.6.11. I don't think the OOM killer was ever perfect in 2.6, but recent tinkering in mm/ probably aggrivated it. *blush* Here is another small OOM killer improvement. Previously we needed to reclaim SWAP_CLUSTER_MAX pages in a single pass. That should be changed so that we need only reclaim that many pages during the entire try_to_free_pages run, without going OOM. Andrea? Andrew? Look OK?