Speicher alloziieren.

From: Christian Lackas <c.lackas(at)kfa-juelich.de>
Date: Tue, 29 Apr 2003 13:34:29 +0200

Hallo zusammen,

[Mist, eben die falsche ML erwischt, aber nun nochmal hier]

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.

FreeBSD host 4.8-STABLE FreeBSD 4.8-STABLE #2: Sat Apr 5 14:31:21 CEST
2003 root(at)host:/usr/obj/usr/src/sys/DELTA i386

Gruss
 Christian

-- 
Lächle - morgen wird es schlimmer.
http://www.lackas.net/ Perl Delphi Linux MP3 Searchengines Domainchecker
_______________________________________________
freebsd-stable(at)freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscribe(at)freebsd.org"
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Tue 29 Apr 2003 - 13:34:41 CEST

search this site