From owner-freebsd-stable@FreeBSD.ORG Tue Apr 29 04:26:59 2003 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D521637B401 for ; Tue, 29 Apr 2003 04:26:59 -0700 (PDT) Received: from fz-juelich.de (zam197.zam.kfa-juelich.de [134.94.172.215]) by mx1.FreeBSD.org (Postfix) with ESMTP id D37CF43F3F for ; Tue, 29 Apr 2003 04:26:57 -0700 (PDT) (envelope-from c.lackas@kfa-juelich.de) Received: from zam197.zam.kfa-juelich.de (localhost [127.0.0.1]) by fz-juelich.de (8.11.6+Sun/8.9.3) with ESMTP id h3TBQu708653 for ; Tue, 29 Apr 2003 13:26:56 +0200 (MEST) Received: from zel726.zel.kfa-juelich.de (zel726.zel.kfa-juelich.de [134.94.232.67])h3TBQt508646 for ; Tue, 29 Apr 2003 13:26:55 +0200 (MEST) Received: from zel726.zel.kfa-juelich.de (localhost [127.0.0.1]) h3TBQjAJ003780 for ; Tue, 29 Apr 2003 13:26:50 +0200 (CEST) (envelope-from c.lackas@kfa-juelich.de) Received: (from lackas@localhost) by zel726.zel.kfa-juelich.de (8.12.9/8.12.6/Submit) id h3TBQjfV003779 for freebsd-stable@freebsd.org; Tue, 29 Apr 2003 13:26:45 +0200 (CEST) (envelope-from c.lackas@kfa-juelich.de) Date: Tue, 29 Apr 2003 13:26:45 +0200 From: Christian Lackas To: freebsd-stable@freebsd.org Message-ID: <20030429112645.GB87324@zel726.zel.kfa-juelich.de> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-15 Content-Disposition: inline Content-Transfer-Encoding: 8bit X-Accept-Language: de en Organization: Forschungszentrum Juelich X-Url: X-PGP-Fingerprint: E78C 1105 710D D01A 8D1C 5B86 BDF7 6FD4 AC64 9ED9 Subject: Speicher alloziieren. X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 29 Apr 2003 11:27:00 -0000 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 #include 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