Page allocation failure
#147 Henry, Thursday, 14 June 2012 10:28 PM (Category: Linux)
(Tags: linode log)

While being paranoid and looking through the Linode logs, I noticed a problem. I have been getting page allocation errors about a dozen times a day. It happens to httpd and swapper. I get these error messages:

Jun 15 21:49:29 moshie kernel: httpd: page allocation failure: order:3, mode:0x20
Jun 15 21:49:29 moshie kernel: Pid: 15714, comm: httpd Not tainted 3.0.18-linode43 #1

Then it does a kernel call trace:

Jun 15 21:49:29 moshie kernel: Call Trace:

and that adds a lot of data to my logfiles. I went to the Linode forums and rapidly found this article with a lot of people experiencing the problem. The commonest suggestions were to edit /etc/sysctl.conf and add a line with "vm.min_free_kbits = 5120".

I went and looked for /etc/sysctl.conf but I don't have one. A quick Google search turns up the interesting information that if you create a /etc/sysctl.conf, then Slackware will start to use it. I grepped in /etc/rc.d and sure enough, if you have a sysctl.conf, it will be used. So I created it, added that line, and ran sysctl manually. It had no effect. I looked at the value of vm.min_free_kbytes on my desktop, and it's set to 49904. So as an experiment, I set the same value on my Linode, applied it, and I haven't had the page allocation error since. Good.

Now my log files are more stable, and I only see issues that need to be dealt with.