lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<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

Powered by Openwall GNU/*/Linux Powered by OpenVZ