Description of problem: this program is killed by oom_kill if the system has SWAP, but without SWAP it runs on a infinite loop frozen the system. perl -e '$i=2000;while ($i--){ $a[$i]="x"x1_000_000; }' Version-Release number of selected component (if applicable): 2.4.20-9, 256MB RAM + 256MB SWAP How reproducible: Steps to Reproduce: 1. 2. 3. Actual results: Expected results: Additional info:
with 2.4.20-13.9 is worse, oom_kill does not kill it with SWAP memory. System frozen.
kernel -18.9 has the same problem than -13.9
I have a machine with 512mb of memory and no swap. In normal situtations this works great. But I run a program that has the stupid behavior of if it doesn't understand the file in one way it tries another way by reading the whole file into memory. When the file is 350mb big, this ia a problem. I have set ulimits the best I can and I have mostly gotten rid of the problem. But just last night for no obvious reason(as in I wasn't using the problematic program) I ran into a oom situtation. The OOM killer should have helped me in this situtation. From what I have read of lkml archives it should do it's work in 30 seconds or less. For me it seems to take somewhere between 30 minutes and never. On a server with 256mb and no swap the other day I ran into a oom situation. It had been going for at least 15 minutes before I got a sms message from the server monitoring software. By the time I got to the console 15-20 minutes later it had resolved itself with the oom killer. The only recourse to patiently waiting forever is to either press the reset button or use one of the sysrq commands. Neither is pretty.
Above with 2.4.20-18.9