[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <f36b08ee0611230503q763e03edge12a5e4d0d8b5ed5@mail.gmail.com>
Date: Thu, 23 Nov 2006 15:03:40 +0200
From: "Yakov Lerner" <iler.ml@...il.com>
To: "Xavier Bestel" <xavier.bestel@...e.fr>
Cc: Kernel <linux-kernel@...r.kernel.org>
Subject: Re: coping with swap-exhaustion in 2.4.33-4
On 11/23/06, Xavier Bestel <xavier.bestel@...e.fr> wrote:
> On Thu, 2006-11-23 at 14:30 +0200, Yakov Lerner wrote:
> > Where can I read anything about how kernel is supposed to
> > react to the 'swap-full' condition ? We have troubles on the
> > production machine which routinely arrives to the swap-full state
> > no matter how I increase the swap, because user proceses multi-fork
> > and then want to allocate a lot of virtual memory.
>
> Did you disable memory overcommit ?
The /proc/sys/vm/overcommit_memory is 0 (the default is 0, no ?)
This is test program, memstress.c. We make sure we touch all allocated chunks.
#include <stdio.h>
#include <stdlib.h>
#include <poll.h>
#include <string.h>
int main(int argc, char **argv) {
char *p;
int size = 10*1024*1024;
int k;
int bypass_prompt = 0;
int mb = 0;
int bytes = 0;
printf("Warning this allocation test may kill your computer by
exhausting the swap+memory\n");
if( argc > 1 && 0 == strcmp("-f", argv[1])) {
bypass_prompt = 1;
}
if(!bypass_prompt) {
printf("Press Enter to proceed, or Ctrl-C to cancel; or use -f
option to bypass the prompt\n");
getchar();
}
for(k=0; ; k++) {
p = malloc(size);
if(p) {
memset(p, 0xff, size );
bytes += size;
printf("%d mb\n", bytes / (1024*1024) );
}
poll(0,0, 1);
}
}
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists