> I have problem with page allocation failure on SUSE Linux Enterprise Server > 11 (s390x) VERSION = 11 PATCHLEVEL = 4
> Logs on messages: > kernel: WebContainer : : page allocation failure: order:4, mode:0x4d0 > kernel: mount.nfs: page allocation failure: order:4, mode:0x4d0 When the kernel requests memory, in some cases it needs it in contiguous chunks. When the kernel reports on the size of the chunk that it needs it uses this "order" - e.g. your order "4" means that the kernel asked for 2^4 pages = 2^4 * 4k = 64KB. If your kernel runs long enough (sometimes downloading a large file over SCP is enough to cause this, not sure why) the memory used may become fragmented so there is no free chunk that is large enough. In this case the kernel will try to free up some caches and buffers to see if a contiguous chunk could be reclaimed. If it does not succeed after trying several strategies, it will just fail and you will get the "page allocation failure" that you are seeing. This article has a good description: https://utcc.utoronto.ca/~cks/space/blog/linux/DecodingPageAllocFailures I once researched a similar problem and my conclusion was that there is no good way out. The kernel developers try to not use large contiguous chunks, but there are still drivers that do. Here are a few more things that I have discovered during my research that you may find useful: - If you want to see to what extent your memory is fragmented, use this command: echo m > /proc/sysrq-trigger Then look at the output of dmesg, you will see statistics about kernel memory usage. The doc for this is here: https://www.kernel.org/doc/Documentation/sysrq.txt - If you want to see what strategies the kernel has for trying to free up chunks of contiguous memory, see mm/page_alloc.c, mm/vmscan.c in the kernel sources. - One of the kernel drivers that need large contiguous chunks of memory is the vmcp driver. If you run vmcp --buffer=1M often enough you'll eventually run into this. Good luck, Tomas ---------------------------------------------------------------------- For LINUX-390 subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO LINUX-390 or visit http://www.marist.edu/htbin/wlvindex?LINUX-390 ---------------------------------------------------------------------- For more information on Linux on System z, visit http://wiki.linuxvm.org/
