Re: More than 2, but less than 3 GiB per process memory?
On Mon, 26 Sep 2005 11:34:15 -0600
bob@proulx.com (Bob Proulx) wrote:
> Hendrik Boom wrote:
> > > Malte Cornils wrote:
> > > > Does anyone have a clue why 2 GiB is the limit?
>
> It is not for me. I can malloc() up to 2.9G.
>
> > It seems malloc restricts itself to the user space.
> > But if you were te replace malloc (or provide your own
> > allocation and freeing methods, which *miht* be possible
> > in C++) you could do the following.
>
> Although I am sure the details of malloc() are involved I
> don't think that is squarely the problem here. I have a
> simple test program which mallocs and reports and I can
> definitely get to 2.9 on a 32-bit system.
>
> Out of memory at 2934 M
I get the same message at 3057MB. Even
This test has to be bogus, though, because my RAM+swap is
less than 2GiB.
This lets me alloc a 1650MB on a desktop w/ 1GB RAM, 1GB swap,
GNOME 2.10, lots of pages open in Firefox, etc.
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
#include <string.h>
int main(int argc, char **argv)
{
unsigned long mb = atoi(argv[1]) * 1024 * 1024;
char *p = malloc(mb);
memset(p, 0xDEAD, (mb/2));
}
Reply to: