{"id":30,"date":"2013-05-16T05:32:00","date_gmt":"2013-05-16T05:32:00","guid":{"rendered":"https:\/\/www.root42.de\/blog\/?p=30"},"modified":"2013-05-16T05:32:00","modified_gmt":"2013-05-16T05:32:00","slug":"avoiding-page-allocation-failures-on-the-pi","status":"publish","type":"post","link":"https:\/\/www.root42.de\/blog\/?p=30","title":{"rendered":"Avoiding page allocation failures on the Pi"},"content":{"rendered":"<p>Since I&#8217;ve been using my 256MB Model B Pi as a server, I had been getting regular page allocation failures of the following kind:<\/p>\n<pre><br \/>sshd: page allocation failure: order:0, mode:0x20<br \/><\/pre>\n<p>This is rather annoying and seems to affect stability as well, like disrupted ssh or smb connections. It seems that the kernel has a setting to affect the minimum free memory that it keeps for allocations, which may be too low. So in the \/etc\/sysctl.conf file you can edit the last lines to bump this value from 8 Mbegabytes to 16 Megabytes:<\/p>\n<pre><br \/># rpi tweaks<br \/>vm.swappiness=1<br \/>vm.min_free_kbytes = 16184<br \/><\/pre>\n<p>Settings are effective after a reboot. For me, this seems to fix the problem. But to be extra sure, I also changed the memory split from 192\/64 to 224\/32. Since my Pi runs headless, 64 MBytes seemed too much simply for a framebuffer console that is not even used. So after these tweaks my Pi shows 216 MByte of available memory and is running for some days now without page allocation errors.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Since I&#8217;ve been using my 256MB Model B Pi as a server, I had been getting regular page allocation failures of the following kind: sshd: page allocation failure: order:0, mode:0x20 This is rather annoying and seems to affect stability as well, like disrupted ssh or smb connections. It seems that the kernel has a setting &hellip; <a href=\"https:\/\/www.root42.de\/blog\/?p=30\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Avoiding page allocation failures on the Pi&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[2,3],"tags":[],"_links":{"self":[{"href":"https:\/\/www.root42.de\/blog\/index.php?rest_route=\/wp\/v2\/posts\/30"}],"collection":[{"href":"https:\/\/www.root42.de\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.root42.de\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.root42.de\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.root42.de\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=30"}],"version-history":[{"count":0,"href":"https:\/\/www.root42.de\/blog\/index.php?rest_route=\/wp\/v2\/posts\/30\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.root42.de\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=30"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.root42.de\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=30"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.root42.de\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=30"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}