lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20090708075501.GA1122@localhost>
Date:	Wed, 8 Jul 2009 15:55:01 +0800
From:	Wu Fengguang <fengguang.wu@...il.com>
To:	Gene Heskett <gene.heskett@...izon.net>
Cc:	Linux Kernel list <linux-kernel@...r.kernel.org>,
	"linux-mm@...ck.org" <linux-mm@...ck.org>,
	Minchan Kim <minchan.kim@...il.com>,
	"Rafael J. Wysocki" <rjw@...k.pl>,
	Kernel Testers List <kernel-testers@...r.kernel.org>,
	David Howells <dhowells@...hat.com>,
	KOSAKI Motohiro <kosaki.motohiro@...fujitsu.com>
Subject: Re: OOM killer in 2.6.31-rc2

On Wed, Jul 08, 2009 at 01:15:15PM +0800, Wu Fengguang wrote:
> On Tue, Jul 07, 2009 at 11:42:07PM -0400, Gene Heskett wrote:
> > On Tuesday 07 July 2009, Wu Fengguang wrote:
> > >On Tue, Jul 07, 2009 at 10:57:30PM +0800, Gene Heskett wrote:
> > >> On Tuesday 07 July 2009, Wu Fengguang wrote:
> > >> >On Mon, Jul 06, 2009 at 10:56:00AM -0400, Gene Heskett wrote:
> > >> >> Greetings all;
> > [...]
> > >> >
> > >> >Normal zone is absent in the above lines.
> > >>
> > >> Is this a .config issue?
> > >
> > >At least CONFIG_HIGHMEM64G is not necessary, could try disabling it.
> > 
> > I have in a rebuild of this 2.6.30.1 kernel, but ISTR I enabled that because 
> > it was only using 3G of the 4G of ram in this box, an AMD-64 Phenom, 4 cores, 
> > 4G ram.  But I haven't rebooted to it yet.  Next good excuse.  See below... :)
> 
> I guess you can only use 3G ram because there is a big memory hole.
> Your HighMem zone spanned 951810 pages, 813013 of which is present.
> So it's not quite accurate for the OOM message "951810 pages HighMem"
> to report the spanned pages.
> 
> Your Normal zone has 221994 present pages, while the OOM message shows
> "slab:206505", which indicates that the OOM is caused by too much
> slab pages(they cannot be allocated from HighMem zone).
> 
> I guess your near 800MB slab cache is somehow under scanned.

Gene, can you run .31 with this patch? When OOM happens, it will tell
us whether the majority slab pages are reclaimable. Another way to 
find things out is to run `slabtop` when your system is moderately loaded.

Thanks,
Fengguang
---
From: KOSAKI Motohiro <kosaki.motohiro@...fujitsu.com>

Subject: [PATCH] add per-zone statistics to show_free_areas()

Currently, show_free_area() mainly display system memory usage. but it
doesn't display per-zone memory usage information.

However, if DMA zone OOM occur, Administrator definitely need to know
per-zone memory usage information.



Signed-off-by: KOSAKI Motohiro <kosaki.motohiro@...fujitsu.com>
---
 mm/page_alloc.c |   20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

Index: b/mm/page_alloc.c
===================================================================
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -2151,6 +2151,16 @@ void show_free_areas(void)
 			" inactive_file:%lukB"
 			" unevictable:%lukB"
 			" present:%lukB"
+			" mlocked:%lukB"
+			" dirty:%lukB"
+			" writeback:%lukB"
+			" mapped:%lukB"
+			" slab_reclaimable:%lukB"
+			" slab_unreclaimable:%lukB"
+			" pagetables:%lukB"
+			" unstable:%lukB"
+			" bounce:%lukB"
+			" writeback_tmp:%lukB"
 			" pages_scanned:%lu"
 			" all_unreclaimable? %s"
 			"\n",
@@ -2165,6 +2175,16 @@ void show_free_areas(void)
 			K(zone_page_state(zone, NR_INACTIVE_FILE)),
 			K(zone_page_state(zone, NR_UNEVICTABLE)),
 			K(zone->present_pages),
+			K(zone_page_state(zone, NR_MLOCK)),
+			K(zone_page_state(zone, NR_FILE_DIRTY)),
+			K(zone_page_state(zone, NR_WRITEBACK)),
+			K(zone_page_state(zone, NR_FILE_MAPPED)),
+			K(zone_page_state(zone, NR_SLAB_RECLAIMABLE)),
+			K(zone_page_state(zone, NR_SLAB_UNRECLAIMABLE)),
+			K(zone_page_state(zone, NR_PAGETABLE)),
+			K(zone_page_state(zone, NR_UNSTABLE_NFS)),
+			K(zone_page_state(zone, NR_BOUNCE)),
+			K(zone_page_state(zone, NR_WRITEBACK_TEMP)),
 			zone->pages_scanned,
 			(zone_is_all_unreclaimable(zone) ? "yes" : "no")
 			);

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ