Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 29 Apr 2003 13:26:45 +0200
From:      Christian Lackas <c.lackas@kfa-juelich.de>
To:        freebsd-stable@freebsd.org
Subject:   Speicher alloziieren.
Message-ID:  <20030429112645.GB87324@zel726.zel.kfa-juelich.de>

next in thread | raw e-mail | index | archive | help
Hallo zusammen,

wodurch ist der Speicher den ich anfordern kann eigentlich begrenzt?

Ich würde nämlich eigentlich gerne folgendes Programm erfolgreich
ausführen:

    #include <stdio.h>
    #include <stdlib.h>
    int main() {
        size_t size = 536870912;
        char *a = malloc(size);
        if (a)
            printf("succeded\n");
        else
            perror("error");
    }

Aber es ist mir nicht vergönnt. Ich bekomme immer einen
    error: Cannot allocate memory
Verursacht durch
    break(0x2804b000)   = -1 ENOMEM (Cannot allocate memory)
Und 
    extern char *malloc_options = "X";
erklärt mir nur, dass kein Speicher mehr da sein soll:
    a.out in malloc(): error: out of memory


Die Grenze scheint bei 512 MB zu liegen und dass passt auch zu der
Ausgabe von limits(1):

    Resource limits (current):
    cputime          infinity secs
    filesize         infinity kb
    datasize           524288 kb
    stacksize           65536 kb
    coredumpsize     infinity kb
    memoryuse        infinity kb
    memorylocked     infinity kb
    maxprocesses         5547
    openfiles           11095
    sbsize           infinity bytes
    vmemoryuse       infinity kb

Aber auch ein

    limits -d 1g ./a.out

(als root) bringt nicht den gewünschten Effekt. Wo muss/kann ich hier
drehen, damit mir das System meine Wünsche wieder erfüllt?

Da in meiner login.conf für meinen User bei »datasize« ein »unlimited«
steht ist mir auch nicht ganz klar wo obige 512 MB herkommen. Ist das
irgendein ein hartes Limit?

Auf meiner UltraSparc (Solaris) kann ich fröhlich Speicher anfordern,
ohne das sie mir das übel nimmt.

Gruss
 Christian

-- 
Lächle - morgen wird es schlimmer.
http://www.lackas.net/ Perl Delphi Linux MP3 Searchengines Domainchecker



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030429112645.GB87324>