Re: coping with swap-exhaustion in 2.4.33-4

From: Yakov Lerner
Date: Thu Nov 23 2006 - 08:04:25 EST


On 11/23/06, Xavier Bestel <xavier.bestel@xxxxxxx> 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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/