[olug] Allocating 3GB of memory for the JVM?

Rob Townley rob.townley at gmail.com
Tue Feb 12 11:41:42 UTC 2008


On Feb 11, 2008 11:27 PM, Phil Brutsche <phil at brutsche.us> wrote:

> Ryan Stille wrote:
> > Is there such a limitation on Linux? (32 bit CentOS)  We're considering
> > switching one of our severs if we can easily allocate 3GB or so, without
> > resorting to any 64-bit hassles.
>
> *any* OS will have a limit.
>
> *any* 32-bit OS will have a limit in the 2GB to 3GB range.
>
> Except for very very rare kernels 32-bit x86 Linux machines have a
> 3GB/1GB user/kernel split.
>
> IMO it is inevitable that you switch to a 64-bit OS & JVM
>
> --
>
> Phil Brutsche
> phil at brutsche.us
> _______________________________________________
> OLUG mailing list
> OLUG at olug.org
> http://lists.olug.org/mailman/listinfo/olug
>


Following Sean Kelly's link.   With Physical Address Extensions, a 32 bit OS
can address 36 bits / 64GigaBytes of RAM.  x86-32 with PAE.
http://en.wikipedia.org/wiki/Physical_Address_Extension

Which reminds one of memory addressing in DOS - ugly. There is a performance
hit because it has to map the ram above 4GB differently.     However, since
PAE has been in CPUs for more than a decade, it should not be too bad.
Search through /proc/cpuinfo for pae to see if your CPU supports it.  I had
a problem with VMware not seeming to support it.  Since pae/highmem=64gb was
compiled into the Ubuntu server cd, the vmware guest would not boot.
Apparently, some mobile pentiums don't support it by default either.

However, on CentOS, it looks like all you need is
#yum install kernel-PAE



More information about the OLUG mailing list