2005-04-02 16:06:16

by Diego Calleja

[permalink] [raw]
Subject: make OOM more "user friendly"

When people gets OOM messages, many of them don't know what is happening or what
OOM means. This brief message explains it.

--- stable/mm/oom_kill.c.orig 2005-04-02 17:44:14.000000000 +0200
+++ stable/mm/oom_kill.c 2005-04-02 18:01:02.000000000 +0200
@@ -189,7 +189,8 @@
return;
}
task_unlock(p);
- printk(KERN_ERR "Out of Memory: Killed process %d (%s).\n", p->pid, p->comm);
+ printk(KERN_ERR "The system has run Out Of Memory (RAM + swap), a process will be killed to free some memory\n");
+ printk(KERN_ERR "OOM: Killed process %d (%s).\n", p->pid, p->comm);

/*
* We give our sacrificial lamb high priority and access to


2005-04-02 16:59:10

by Matthias-Christian Ott

[permalink] [raw]
Subject: Re: make OOM more "user friendly"

Diego Calleja schrieb:

>When people gets OOM messages, many of them don't know what is happening or what
>OOM means. This brief message explains it.
>
>--- stable/mm/oom_kill.c.orig 2005-04-02 17:44:14.000000000 +0200
>+++ stable/mm/oom_kill.c 2005-04-02 18:01:02.000000000 +0200
>@@ -189,7 +189,8 @@
> return;
> }
> task_unlock(p);
>- printk(KERN_ERR "Out of Memory: Killed process %d (%s).\n", p->pid, p->comm);
>+ printk(KERN_ERR "The system has run Out Of Memory (RAM + swap), a process will be killed to free some memory\n");
>+ printk(KERN_ERR "OOM: Killed process %d (%s).\n", p->pid, p->comm);
>
> /*
> * We give our sacrificial lamb high priority and access to
>-
>To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
>the body of a message to [email protected]
>More majordomo info at http://vger.kernel.org/majordomo-info.html
>Please read the FAQ at http://www.tux.org/lkml/
>
>
>
I disagree this is _not_ usefull. If the user don't knows what OOM means
he can use google to get this information.

Matthias-Christian Ott

2005-04-02 17:11:40

by Diego Calleja

[permalink] [raw]
Subject: Re: make OOM more "user friendly"

El Sat, 02 Apr 2005 18:58:53 +0200,
Matthias-Christian Ott <[email protected]> escribi?:

> I disagree this is _not_ usefull. If the user don't knows what OOM means
> he can use google to get this information.

And google will take them to what random source of information? There's no "official"
meaning of what OOM is outside the kernel.... And anyway, why shouldn't the kernel tell
what's happening? That printk is not exactly a fifty-page explanation, it just says "your
system has run out of memory" instead of "OOM", which is what it's really happening and
it's not verbose at all, and it doesn't scare users.

OOM doesn't prints just those messages, if prints a lot of "debugging info" about the state
of the memory subsystem, I've found people in usenet who reboots their systems when
they see that because they think it's a critical failure or something - and looking at how it's
printed, I don't blame them. This is the reason why I submitted this patch.

(and I'd have added a "look at Documentation/oom.txt", but there's zero documentation of
what OOM is, what are the causes of it, tips of how to find apps triggering it and tips to fix
it, and I'm not the right person to write it, so...)

2005-04-02 17:36:42

by Indrek Kruusa

[permalink] [raw]
Subject: Re: make OOM more "user friendly"

Matthias-Christian Ott wrote:

> Diego Calleja schrieb:
>
>> When people gets OOM messages, many of them don't know what is
>> happening or what
>> OOM means. This brief message explains it.
>>
>> --- stable/mm/oom_kill.c.orig 2005-04-02 17:44:14.000000000 +0200
>> +++ stable/mm/oom_kill.c 2005-04-02 18:01:02.000000000 +0200
>> @@ -189,7 +189,8 @@
>> return;
>> }
>> task_unlock(p);
>> - printk(KERN_ERR "Out of Memory: Killed process %d (%s).\n",
>> p->pid, p->comm);
>> + printk(KERN_ERR "The system has run Out Of Memory (RAM + swap),
>> a process will be killed to free some memory\n");
>> + printk(KERN_ERR "OOM: Killed process %d (%s).\n", p->pid, p->comm);
>>
>> /*
>> * We give our sacrificial lamb high priority and access to
>> -
>> To unsubscribe from this list: send the line "unsubscribe
>> linux-kernel" in
>> the body of a message to [email protected]
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>> Please read the FAQ at http://www.tux.org/lkml/
>>
>>
>>
> I disagree this is _not_ usefull. If the user don't knows what OOM
> means he can use google to get this information.


:) Somewhat like "Use your mobile phone to call helpdesk if your mobile
phone is broken". Maybe such messages should have some kind of link to
information in Documentation/ ?

regards,
Indrek