can a 32 bit process use more than 2GB?

ESGLinux esggrupos at gmail.com
Wed Mar 17 12:14:38 UTC 2010


Hi again I have found this article in the red hat kbase:

http://kbase.redhat.com/faq/docs/DOC-6571

My particular case is this:

CPU             Kernel              Application     Virtual Address Size

64 bit          64 bit              32 bit          4GB


So, I can use up to 4GB.

My question now is, what happens if a process needs more memory. For
example, I use vim to analize the log files of my application server.
I have files larger than 4G, (almost 5GB). What does the kernel do in
this case? swap?


Greetings,


ESG



Hi,
>
> are you sure? you can address 4G but for the design of the kernel you only
> have 2GB
>
> http://kerneltrap.org/node/2450
> http://web.archive.org/web/20080424081633/lwn.net/Articles/75174/
>
> <http://web.archive.org/web/20080424081633/lwn.net/Articles/75174/>
> thanks,
>
> ESG
>
> 2010/3/17 Nigel Wade <nmw at ion.le.ac.uk>
>
> ESGLinux wrote:
>> > Hi,
>> >
>> > I´m reading a post about the memory use for a java application:
>> >
>> http://web.archive.org/web/20080313075240/http://goobsoft.homeip.net/Wiki.jsp?page=JavaDebianTuning
>> >
>> > and there is a thing that surprise me:
>> > Read this  and to the point where you understand that a 32-process on
>> Linux
>> > only has 2GB of addressible space. In fact, back in 1999, Linus decreed
>> that
>> > 32-bit Linux would never, ever support more than 2GB of memory. "This is
>> not
>> > negotiable."
>> >
>> > So I have a machine running RHEL x64 but  I have a process that run over
>> > only 32 bit (the JVM), Reading this I think my process only can use 2Gb
>> of
>> > memory.
>> >
>> > is it true? is it  oficial documented anywhere?
>> >
>> > Thanks in advance,
>> >
>> > ESG
>>
>>
>> No, the 32bit address space limit is 4GB, not 2GB.
>>
>> $ java -Xmx3500m -version
>> java version "1.6.0_15"
>> Java(TM) SE Runtime Environment (build 1.6.0_15-b03)
>> Java HotSpot(TM) Server VM (build 14.1-b02, mixed mode)
>>
>> $ java -Xmx4500m -version
>> Invalid maximum heap size: -Xmx4500m
>> The specified size exceeds the maximum representable size.
>> Could not create the Java virtual machine.
>>
>> If you want more address space than this use a 64bit JVM.
>> Using a 64bit JVM then:
>>
>> $ java -Xmx4500m -version
>> java version "1.6.0_17"
>> Java(TM) SE Runtime Environment (build 1.6.0_17-b04)
>> Java HotSpot(TM) 64-Bit Server VM (build 14.3-b01, mixed mode)
>>
>> --
>> Nigel Wade, System Administrator, Space Plasma Physics Group,
>>            University of Leicester, Leicester, LE1 7RH, UK
>> E-mail :    nmw at ion.le.ac.uk
>> Phone :     +44 (0)116 2523548, Fax : +44 (0)116 2523555
>>
>> --
>> redhat-list mailing list
>> unsubscribe mailto:redhat-list-request at redhat.com?subject=unsubscribe
>> https://www.redhat.com/mailman/listinfo/redhat-list
>>
>
>



More information about the redhat-list mailing list