LinuxQuestions.org
Review your favorite Linux distribution.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Newbie
User Name
Password
Linux - Newbie This Linux forum is for members that are new to Linux.
Just starting out and have a question? If it is not in the man pages or the how-to's this is the place!

Notices


Reply
  Search this Thread
Old 07-28-2008, 03:54 PM   #1
linuxguy2008
LQ Newbie
 
Registered: Jul 2008
Posts: 2

Rep: Reputation: 0
hugemem 32/64 Bit


Hello,

As per my understanding, RHEL AS 4 includes a kernel known as the hugemem kernel. This kernel supports a 4GB per-process user space (versus 3GB for the other kernels), and a 4GB direct kernel space. Using this kernel allows Red Hat Enterprise Linux to run on systems with up to 64GB of main memory. The hugemem kernel is required in order to use all the memory in system configurations containing more than 16GB of memory.

So if we need to use/have more than 16 Gigs of memory on a 32-Bit system then we would have to make use of hugemem kernel and on a 64-Bit system, hugemem kernel doesn't apply at all.

Can somebody please comment?

Thank you,
Nez
 
Old 07-28-2008, 04:10 PM   #2
johnsfine
LQ Guru
 
Registered: Dec 2007
Distribution: Centos
Posts: 5,286

Rep: Reputation: 1197Reputation: 1197Reputation: 1197Reputation: 1197Reputation: 1197Reputation: 1197Reputation: 1197Reputation: 1197Reputation: 1197
Quote:
Originally Posted by linuxguy2008 View Post
As per my understanding, RHEL AS 4 includes a kernel known as the hugemem kernel. This kernel supports a 4GB per-process user space
Have you any URL for whatever you read to give you that "understanding"?

A full 4GB per-process user space with a 32 bit kernel sounds very unlikely. That would involve major changes to the design of Linux.

Quote:
The hugemem kernel is required in order to use all the memory in system configurations containing more than 16GB of memory.
That sounds less strange, but still not very likely.

Quote:
on a 64-Bit system, hugemem kernel doesn't apply at all.
That is my understanding. With a 64-bit kernel, a 32-bit application gets a full 4GB user address space and a 64-bit application gets much more than that.

I don't know the top physical memory size for an ordinary 64-bit kernel, nor whether there are any kernel build options to increase that. I haven't heard of any.
 
Old 07-28-2008, 04:26 PM   #3
jay73
LQ Guru
 
Registered: Nov 2006
Location: Belgium
Distribution: Ubuntu 11.04, Debian testing
Posts: 5,019

Rep: Reputation: 133Reputation: 133
Are you referring to the PAE kernel? I have used it on CentOS to access 4GB of RAM, something that simple 32 bit can't do. I am not sure, though, whether PAE actually increases the maximum per process. On most operating system, it does not.
 
Old 07-28-2008, 04:30 PM   #4
syg00
LQ Veteran
 
Registered: Aug 2003
Location: Australia
Distribution: Lots ...
Posts: 21,128

Rep: Reputation: 4120Reputation: 4120Reputation: 4120Reputation: 4120Reputation: 4120Reputation: 4120Reputation: 4120Reputation: 4120Reputation: 4120Reputation: 4120Reputation: 4120
ISTR hugemem was just a (Redhat) name for a kernel with HIGHMEM64G (thus PAE) support enabled. So yes, it's a 32-bit kernel with full supprt for architected RAM limits. Depends on the motherboard, but 64 Gig is the limit.
The address space addressing range is unchanged at 4 Gig, althought the boundary between kernel- and user-space may be changed - this is a general "feature", not specific to hugemem.

All moot for 64-bit.
 
Old 07-28-2008, 05:57 PM   #5
linuxguy2008
LQ Newbie
 
Registered: Jul 2008
Posts: 2

Original Poster
Rep: Reputation: 0
Hello All,

Thanks for your replies!

Johnsfine,

Please visit http://www.redhat.com/docs/manuals/e...-notes/as-x86/ and search for 'Red Hat Enterprise Linux 4 kernel' for details.
 
Old 07-28-2008, 06:29 PM   #6
lazlow
Senior Member
 
Registered: Jan 2006
Posts: 4,363

Rep: Reputation: 172Reputation: 172
This is the part that the PAE fans always like to forget:

Quote:
Note

To provide a 4GB address space for both kernel and user space, the kernel must maintain two separate virtual memory address mappings. This introduces overhead when transferring from user to kernel space; for example, in the case of system calls and interrupts. The impact of this overhead on overall performance is highly application dependent.
and is one of the major reasons I switched to 64bit.
 
Old 07-28-2008, 07:50 PM   #7
johnsfine
LQ Guru
 
Registered: Dec 2007
Distribution: Centos
Posts: 5,286

Rep: Reputation: 1197Reputation: 1197Reputation: 1197Reputation: 1197Reputation: 1197Reputation: 1197Reputation: 1197Reputation: 1197Reputation: 1197
Quote:
Originally Posted by lazlow View Post
This is the part that the PAE fans always like to forget:

and is one of the major reasons I switched to 64bit.
I didn't know that 4GB user space option even existed. After a bunch of searches, I still don't know what turns it on when configuring the kernel. (But lots of sources agreed with the top post of this thread, that at least in Red Hat pre built 32-bit kernels the choice of 4GB user space is bundled with support for over 16GB physical).

None of the 32-bit PAE Linux kernels I've used had 4GB user space. I didn't compile nor install any of those kernels, so I don't know what choices were made.

PAE itself shouldn't have a noticeable performance impact, nor all the incompatibility issues that are sometimes mentioned.

4GB user space in a 32-bit kernel might be an interesting feature if you're stuck with a non 64-bit CPU. But it sounds like a really lame choice if you could select a 64-bit kernel instead.

You need PAE to get over three point something GB of physical ram. The pages I found while searching "hugemem" describe the option to support up to 16GB (which requires PAE) without getting the 4GB user space.

There is no hardware reason to associate going over 16GB physical ram with supporting 4GB user space, but obviously some of the kernel data structures get bigger as you support more ram. It is reasonable (though I don't know whether it is fact) that supporting over 16GB physical required kernel data structures that weren't practical in the usual 3GB/1GB split of user/kernel address space. Providing separate 4GB address spaces for user and kernel would solve that, at the cost of some performance and doing things enough differently from usual Linux to likely cause some incompatibilities.
 
Old 07-28-2008, 08:00 PM   #8
syg00
LQ Veteran
 
Registered: Aug 2003
Location: Australia
Distribution: Lots ...
Posts: 21,128

Rep: Reputation: 4120Reputation: 4120Reputation: 4120Reputation: 4120Reputation: 4120Reputation: 4120Reputation: 4120Reputation: 4120Reputation: 4120Reputation: 4120Reputation: 4120
Here is a comment on large memory configurations with 32-bit kernel from some fella named Linus ...
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
64 bit cpu-64 bit Ubuntu-are there 32 bit app issues? sofasurfer Ubuntu 7 04-09-2014 02:02 PM
Need help to switch my kernel to hugemem frankbommarito Linux - General 1 01-10-2008 06:06 PM
what is kernel-pcmcia, how is it different from hugemem alix123 Linux - Software 1 02-09-2007 12:03 AM
hugemem aasahi Red Hat 0 03-27-2004 09:40 AM
Unsupported drivers in hugemem szmike Red Hat 0 12-28-2003 12:04 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Newbie

All times are GMT -5. The time now is 08:16 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration