[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug 2836 (linux mm)] New - __alloc_pages: 1-order allocation failed.
http://distro.conectiva.com.br/bugzilla/show_bug.cgi?id=2836
Summary: __alloc_pages: 1-order allocation failed.
Product: Linux kernel MM
Version: 2.2 (stable)
Platform: All
URL:
OS/Version: Linux
Status: UNCONFIRMED
Status Whiteboard:
Keywords:
Resolution:
Severity: normal
Priority: P3
Component: linux mm
AssignedTo: linux-mm-bugs@nl.linux.org
ReportedBy: arjan@fenrus.demon.nl
[reposted bug, original at
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=35032
]
I have been seeing some problems with running nfs benchmarks
at very high loads and were wondering if somebody could show
me some pointers to where the problem lies.
The system is a 2.4.0 kernel on a 6.2 Red at distribution.
What appears to be happening is that the system has
enough free memory (~2K pages or 8mb) that the swap,
reclaim and buffer daemons are satisfied that they
do not need to free more. In other words system memory
has reached the water marks such that the daemons have
quiesced. Unfortunately 2K pages is less than 1% of
the system's memory (1 GB RAM == 262144 4K pages) so
the odds of obtaining 2 consecutive pages can be quite
low; especially if approximately 300 processes are
attempting to fork(2) at the same time.
The Linux page allocation routine, __alloc_pages(),
will attempt to clean and free pages when trying to
satisfy a request for more than one page. Unfortunately
it will only free random different pages, rather than
trying to free a page large enough to meet the request.
In other words the VM subsystem should free an 8K page
in order to satisfy an 8K request, as opposed to 2
independent 4K pages.
-
Linux-mm-bugs: bugzilla list for the Linux-MM subsystem
Archive: http://mail.nl.linux.org/linux-mm-bugs/
Web site: http://www.linux.eu.org/Linux-MM/
Development: linux-mm@kvack.org