[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