Messages in this thread | | | Date | Sat, 13 Jan 2007 15:30:27 +0100 | From | Willy Tarreau <> | Subject | Re: tuning/tweaking VM settings for low memory (preventing OOM) |
| |
Hi Toon,
On Sat, Jan 13, 2007 at 02:16:01PM +0100, Toon van der Pas wrote: > On Sat, Jan 13, 2007 at 08:22:18AM +0100, Willy Tarreau wrote: > > > > > > Which makes me think that we aren't writing back fast enough. If I > > > mount the drive "sync" the issue clearly goes away. > > > > > > It appears from an strace we are doing ftruncate64(5, 178257920) when > > > we OOM. > > > > > > Any ideas on VM parameters to tweak so we throttle this from occurring? > > > > Take a look at /proc/sys/vm/bdflush. There are several useful parameters > > there (doc is in linux-xxx/Documentation). For instance, the first column > > is the percentage of memory used by writes before starting to write on > > disk. When using tcpdump intensively, I lower this one to about 1%. > > > > Willy > > Hi Willy, > > I know you're doing a great job on keeping the 2.4 kernel in shape, > but do you also have a good advice for people with more recent > kernels? (hint: the file /proc/sys/vm/bdflush is missing)
OK OK OK... Next time I will have coffee *before* replying :-)
Check /proc/sys/vm/dirty_ratio and dirty_background_ratio. Both are percentage of total memory. The first one is for "foreground" writes (ie the writing process may block) while the second one is for "background" writes :
$ uname -a Linux hp 2.6.16-rc2-pa1 #1 Fri Feb 3 23:34:56 MST 2006 parisc unknown $ cat /proc/sys/vm/dirty_ratio 40 $ cat /proc/sys/vm/dirty_background_ratio 10
Again, lowering those values should help writing data to disk sooner. Also you should take a look at min_free_kbytes (although I've not played with it yet) :
[from Documentation/sysctl/vm.txt] : min_free_kbytes:
This is used to force the Linux VM to keep a minimum number of kilobytes free. The VM uses this number to compute a pages_min value for each lowmem zone in the system. Each lowmem zone gets a number of reserved free pages based proportionally on its size.
Docuemntation/filesystems/proc.txt is your friend here too.
Regards, Willy
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |