Date: Mon, 16 Feb 2004 14:00:39 +0000 From: ml@fruitbat.demon.co.uk To: "Brooks Davis" <brooks@one-eyed-alien.net> Cc: freebsd-amd64@freebsd.org Subject: Re: malloc() over 4Gb Message-ID: <E1AsjId-0007tY-0V@anchor-post-31.mail.demon.net> In-Reply-To: <20040126175234.GA28717@Odin.AC.HMC.Edu>
next in thread | previous in thread | raw e-mail | index | archive | help
brooks@one-eyed-alien.net wrote: > On Sun, Jan 25, 2004 at 01:37:47PM +0000, ml@fruitbat.demon.co.uk wrote: > > Hi. Could someone clarify whether or not it's possible to malloc() > > and mmap() chunks of memory > 4Gb in size using FreeBSD/AMD64 and > > that FreeBSD/AMD64 isn't susceptible to the 4Gb process boundary that > > 32-bit OSs are restricted by? > > It works fine (just remember to set your malloc options to aj before > mallocing that much memory, it takes a loooong time if you done :-): > [9:52am] brooks@brimstone (~): uname -a > FreeBSD brimstone 5.2-CURRENT FreeBSD 5.2-CURRENT #0: Tue Jan 6 13:18:20 P= > ST 2004 brooks@brimstone:/usr/obj/usr/p4/xname/sys/GENERIC amd64 > [9:52am] brooks@brimstone (~): ./a > a.out* aeroauth*=20 > [9:52am] brooks@brimstone (~): cat foo.c > #include <stdio.h> > #include <stdlib.h> > #include <stdint.h> > #define GB (1024*1024*1024) > int > main (int argc, char **argv) > { > void *foo; > printf("Trying to malloc %zd bytesn", (size_t)7*GB); foo =3D malloc((size_t)7*GB); > foo =3D malloc((size_t)7*GB); if (foo !=3D NULL) > if (foo !=3D NULL) > printf("Successn"); else > else > printf("failuren");} > } > [9:52am] brooks@brimstone (~): gcc -o foo foo.c > [9:52am] brooks@brimstone (~): ./foo=20 > Trying to malloc 7516192768 bytes > Success > [9:52am] brooks@brimstone (~):=20 Hi. Thanks for that information! I went out and bought the box and it does indeed seem to malloc() over 4Gb. However, if you change the allocation from 7*GB to 8*GB in your sample program, it still keels over inside malloc()! Do you know if there's any sort of 8Gb clamp in this OS?! Cheers! > -- Brooks A.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E1AsjId-0007tY-0V>