From: Mahmood Naderan <nt_mahmood@yahoo.com>
To: David Rientjes <rientjes@google.com>
Cc: Randy Dunlap <rdunlap@xenotime.net>,
"\"\"\"linux-kernel@vger.kernel.org\"\"\""
<linux-kernel@vger.kernel.org>,
"\"\"linux-mm@kvack.org\"\"" <linux-mm@kvack.org>
Subject: Re: running of out memory => kernel crash
Date: Thu, 11 Aug 2011 01:02:04 -0700 (PDT) [thread overview]
Message-ID: <1313049724.11241.YahooMailNeo@web111704.mail.gq1.yahoo.com> (raw)
In-Reply-To: <alpine.DEB.2.00.1108110010220.23622@chino.kir.corp.google.com>
>Despite it's name, kswapd is still active, it's trying to reclaim memory
>to prevent having to kill a process as the last resort.
I understand what you said, but I did two scenarios:
1- I wrote a simple C++ program that "new" a lot of pointers.
for ( int i = 0; i < n; i++ ) {
for ( int j = 0; j < n; j++ ) {
for ( int k = 0; k < n; k++ ) {
for ( int l = 0; l < n; l++ ) {
double *ptr1 = new double[n*i];
double *ptr2 = new double[n*j];
}}}}
When I run the program, it ill eat the memory and when it reaches the
maximum ram, it get killed and I saw message on terminal:
mahmood@vpc:~$ ./leak
Killed
for this scenario, there is no kswapd process running. As it eats the memory
suddenly it get killed.
2- There is 300MB ram. I opened an application saw that
free space reduced to 100MB, then another application reduced the free
space to 30MB. Another application reduced to 4MB. Now the "kswapd"
is running with a lot of disk activity and tries to keep free space at 4MB.
In this scenario, No application is killed.
The question is why in one scenario, the application is killed and in one
scenario, kswapd is running.
I think in the first scenario, the oom_score is calculated more rapidly
than the second, so immediately is get killed. So kswapd has no chance
to run because application is killed sooner. In the second scenario,
kswapd has time to run first. So it will try to free some spaces. However
since the disk activity is very high, the response time is very high
so the oom_score is calculated lately than first scenario.
Is my understandings correct?
>If /proc/sys/vm/panic_on_oom is not set, as previously mentioned, then
>we'll need the kernel log to diagnose this further.
I checked that and it is 0. I am trying to reproduce the problem to get some logs
// Naderan *Mahmood;
----- Original Message -----
From: David Rientjes <rientjes@google.com>
To: Mahmood Naderan <nt_mahmood@yahoo.com>
Cc: Randy Dunlap <rdunlap@xenotime.net>; """linux-kernel@vger.kernel.org""" <linux-kernel@vger.kernel.org>; ""linux-mm@kvack.org"" <linux-mm@kvack.org>
Sent: Thursday, August 11, 2011 11:43 AM
Subject: Re: running of out memory => kernel crash
On Thu, 11 Aug 2011, Mahmood Naderan wrote:
> >The default behavior is to kill all eligible and unkillable threads until
> >there are none left to sacrifice (i.e. all kthreads and OOM_DISABLE).
>
> In a simple test with virtualbox, I reduced the amount of ram to 300MB.
> Then I ran "swapoff -a" and opened some applications. I noticed that the free
> spaces is kept around 2-3MB and "kswapd" is running. Also I saw that disk
> activity was very high.
> That mean although "swap" partition is turned off, "kswapd" was trying to do
> something. I wonder how that behavior can be explained?
>
Despite it's name, kswapd is still active, it's trying to reclaim memory
to prevent having to kill a process as the last resort.
If /proc/sys/vm/panic_on_oom is not set, as previously mentioned, then
we'll need the kernel log to diagnose this further.
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2011-08-11 8:02 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1312872786.70934.YahooMailNeo@web111712.mail.gq1.yahoo.com>
2011-08-09 7:06 ` Randy Dunlap
[not found] ` <1312874259.89770.YahooMailNeo@web111704.mail.gq1.yahoo.com>
2011-08-09 16:03 ` David Rientjes
2011-08-10 8:14 ` Mahmood Naderan
2011-08-11 4:09 ` David Rientjes
2011-08-11 7:07 ` Mahmood Naderan
2011-08-11 7:13 ` David Rientjes
2011-08-11 8:02 ` Mahmood Naderan [this message]
2011-08-11 12:47 ` Denys Vlasenko
2011-08-11 15:13 ` Mahmood Naderan
2011-08-11 17:38 ` Denys Vlasenko
2011-08-17 8:50 ` Mahmood Naderan
2011-08-18 2:18 ` Pavel Ivanov
2011-08-18 12:44 ` Denys Vlasenko
2011-08-18 14:26 ` Pavel Ivanov
2011-08-18 22:25 ` Denys Vlasenko
2011-08-19 19:21 ` David Rientjes
2011-08-19 19:29 ` Bryan Donlan
2011-08-19 21:19 ` Chris Friesen
2011-08-19 21:38 ` Alan Cox
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1313049724.11241.YahooMailNeo@web111704.mail.gq1.yahoo.com \
--to=nt_mahmood@yahoo.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=rdunlap@xenotime.net \
--cc=rientjes@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox