[lkml]   [2000]   [Mar]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: Linux 2.2.15pre12 [VM fixes]
>On Thu, 2 Mar 2000, Burton Windle wrote:

>><linux/version.h> was wrong) was to telnet in as a normal user, and use
>>all the RAM I could (perl -e '@a=(a..zzzzzzzzzzz').

See the last thing that perl does before you get in troubles:

brk(0x148c78000) = -1 ENOMEM (Cannot allocate memory)
write(2, "Out of memory!\n", 15) = 15
osf_sigprocmask(0x3, 0, 0) = 0
--- SIGINT (Interrupt) ---

Then all mmap/brk fails with -ENOMEM and so the processes exits and perl
gets not killed.

To get rid of that use 2.2.15pre13 and set this sysctl at boot:

echo 1 > /proc/sys/vm/overcommit_memory

and perl will be killed immediatly without mistakes then.

The get_free_pages logics wasn't involved at all in your problem, it was
mmap/brk that was failing while doing the overcommit check and so nobody
was going to request memory anymore.

IMHO perl should exit when it notices there's not enough memory to
allocate the array.

Actually I am looking at the overcommit logic since it seems we have a
longstanding little problem there (not related to your case though,
that's a perl "feature" ;).


To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
Please read the FAQ at

 \ /
  Last update: 2005-03-22 13:56    [W:0.182 / U:5.732 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site