Messages in this thread | | | From | dave b <> | Date | Tue, 27 Jul 2010 00:05:55 +1000 | Subject | Re: PROBLEM: oom killer and swap weirdness on 2.6.3* kernels |
| |
On 2 June 2010 06:52, David Rientjes <rientjes@google.com> wrote: > On Thu, 27 May 2010, dave b wrote: > >> That was just a simple test case with dd. That test case might be >> invalid - but it is trying to trigger out of memory - doing this any >> other way still causes the problem. I note that playing with some bios >> settings I was actually able to trigger what appeared to be graphics >> corruption issues when I launched kde applications ... nothing shows >> up in dmesg so this might just be a conflict between xorg and the >> kernel with those bios settings... >> >> Anyway, This is no longer a 'problem' for me since I disabled >> overcommit and altered the values for dirty_ratio and >> dirty_background_ratio - and I cannot trigger it. >> > > Disabling overcommit should always do it, but I'd be interested to know if > restoring dirty_ratio to 40 would help your usecase. > Actually it turns out on 2.6.34.1 I can trigger this issue. What it really is, is that linux doesn't invoke the oom killer when it should and kill something off. This is *really* annoying.
I used the follow script - (on 2.6.34.1) cat ./scripts/disable_over_commit #!/bin/bash echo 2 > /proc/sys/vm/overcommit_memory echo 40 > /proc/sys/vm/dirty_ratio echo 5 > /proc/sys/vm/dirty_background_ratio
And I was still able to reproduce this bug. Here is some c code to trigger the condition I am talking about.
#include <stdlib.h> #include <stdio.h>
int main(void) { while(1) { malloc(1000); }
return 0; }
| |