Just because I've been pulling my hair out for over a month about this problem, I'd like to get it into the archives.
When copying large files (multigigabyte) on a CentOS 4.4 4GB Xeon (running 32 bit) server (2.6.9-42.0.3.ELsmp), I was getting:
page allocation failure. order:0, mode:0x50
(snip lines and lines of debug output)
This was accompanied by a huge swapout storm that brought the system to a near standstill.
Also, it could trigger OOM-Killer activity.
Setting /proc/sys/vm/lower_zone_protection to 150 seems to prevent the problem. (It's not been long enough that I'm *certain* that it's fixed but it seems to be.)
The upstream bug report is here:
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=149088
Hope this helps someone someday, because I had a heck of a time finding an answer.
-Steve Bergman