From: Anton Blanchard We now print statistics when invoking the OOM killer, however this information is not rate limited and you can get into situations where the console is continually spammed. For example, when a task is exiting the OOM killer will simply return (waiting for that task to exit and clear up memory). If the VM continually calls back into the OOM killer we get thousands of copies of show_mem() on the console. Use printk_ratelimit() to quieten it. Signed-off-by: Anton Blanchard Signed-off-by: Andrew Morton --- mm/oom_kill.c | 8 +++++--- 1 files changed, 5 insertions(+), 3 deletions(-) diff -puN mm/oom_kill.c~quieten-oom-killer-noise mm/oom_kill.c --- 25/mm/oom_kill.c~quieten-oom-killer-noise Wed Jul 6 14:15:04 2005 +++ 25-akpm/mm/oom_kill.c Wed Jul 6 14:15:46 2005 @@ -258,9 +258,11 @@ void out_of_memory(unsigned int __nocast struct mm_struct *mm = NULL; task_t * p; - printk("oom-killer: gfp_mask=0x%x, order=%d\n", gfp_mask, order); - /* print memory stats */ - show_mem(); + if (printk_ratelimit()) { + printk("oom-killer: gfp_mask=0x%x, order=%d\n", + gfp_mask, order); + show_mem(); + } read_lock(&tasklist_lock); retry: _