LinuxQuestions.org
Visit Jeremy's Blog.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Red Hat
User Name
Password
Red Hat This forum is for the discussion of Red Hat Linux.

Notices


Reply
  Search this Thread
Old 10-24-2009, 09:37 AM   #1
fahdmirza
LQ Newbie
 
Registered: Oct 2009
Distribution: RedHat
Posts: 5

Rep: Reputation: 0
Memory Limit for 32-bit RedHat AS 4 Server


Hello,
I am running 32-bit Redhat Enterprise Linux AS 4 on a machine, which has 16 GB of RAM. My questions are please:

1- Is it true that the total memory the 32-bit RHEL AS 4 could access if 4GB, and my remaining 12 GB is wasted?

2- Is there a way that I could use the 16 GB Memory? If yes, please be kind enough to guide how?

Thanks and regards
 
Old 10-24-2009, 10:26 AM   #2
johnsfine
LQ Guru
 
Registered: Dec 2007
Distribution: Centos
Posts: 5,286

Rep: Reputation: 1197Reputation: 1197Reputation: 1197Reputation: 1197Reputation: 1197Reputation: 1197Reputation: 1197Reputation: 1197Reputation: 1197
You may want to check whether your CPU can run a 64 bit OS. That is shown by lm in the flags line from
less /proc/cpuinfo
If you don't understand the above, but want to know whether you could switch to a 64 bit OS, post the output (or just the flags line) from less /proc/cpuinfo

I think some RedHat versions have license as well as technical restrictions on the amount of ram supported. I don't know the details. If you have a supported copy of RedHat, you should contact RedHat for questions like this.

If you do not have a supported copy of RedHat, you should seriously consider either converting from RedHat to Centos within the same release (I have seen instructions, but don't have the URL handy) or reinstalling using a newer version of Centos, maybe a 64 bit version.

For 32 bit Linux in general (ignoring any issues specific to Redhat Enterprise AS 4) you can use 16GB of ram using a PAE kernel. Various distributions have various names for their PAE kernel. Only a few have "PAE" in the name of the PAE kernel to make it easy to identify.

If you have a non PAE 32 bit Linux, it can only use 3 plus a fraction GB of ram (the exact size of that fraction is determined by the BIOS, not by Linux).

32 bit PAE Linux with 16GB of ram may have problems with the limit on kernel virtual memory. So if your CPU supports a 64 bit OS, you would probably be much better off installing a 64 bit Linux. If you have experience or other reasons to have chosen RedHat, then the best choice to install in its place would be Centos.

If you recently installed RedHat and didn't have a good reason to choose RedHat, you may be better off starting over with an easier 64 bit version of Linux, such as Mepis.
 
Old 10-24-2009, 10:55 AM   #3
lithanus
LQ Newbie
 
Registered: Apr 2009
Posts: 6

Rep: Reputation: 1
If the motherboard is seeing the entire 16 GB on boot, then you can use Physical Address Extensions. If not, then a hardware upgrade will be needed to use > 4GB.

To get 32-bit linux to use > 4GB you'll need to be running a PAE enabled kernel. I don't have that version of the OS around to test, but

yum install kernel-PAE

should allow you to use up to 64 GB. You will have a small CPU performance hit using the extensions, but the increased memory will probably offset that.

All the recent linux PAE kernels support SMP, but I am not at all sure what AS 4 is up to. If you need SMP, you will probably want to verify that the kernel is seeing everything (cat /proc/cpuinfo).

PAE will allow system access to greater than 4GB, but processes will still have 32-bit limits (3GB/process). If you are handling large databases (for example), this is still going to kill you on performance.

In most cases, moving to a full 64-bit install is more effective. If you have the hardware available, I would recommend putting together a 64-bit RH 5/CentOS 5 box and see how it works.
 
Old 10-24-2009, 11:03 AM   #4
lazlow
Senior Member
 
Registered: Jan 2006
Posts: 4,363

Rep: Reputation: 172Reputation: 172
RHEL4 does not use yum in a default install, it uses up2date instead.

I would also suggest moving to 64bit if the hardware can do it. Whether people like to admit it or not, running PAE is really like using duct tape, it will get you functional but it is not ideal.
 
Old 10-25-2009, 01:11 AM   #5
fahdmirza
LQ Newbie
 
Registered: Oct 2009
Distribution: RedHat
Posts: 5

Original Poster
Rep: Reputation: 0
My motherboard is indeed watching the 16GB RAM, at the boot. What I get from the very valuable feedback above is that it's better to use RHEL 5 64-bit, rather tinkering with PAE in AS4.

Would you please confirm me that is 64-bit RHEL 4 is stable and can be used in production?

Actually I want to run Oracle Application Server on Redhat Linux, and I need every bit of that 16GB RAM.

Thanks and best regards
 
Old 10-25-2009, 01:39 AM   #6
lithanus
LQ Newbie
 
Registered: Apr 2009
Posts: 6

Rep: Reputation: 1
All official RHEL/CentOS releases are generally considered production stable.
 
Old 10-25-2009, 04:57 AM   #7
salasi
Senior Member
 
Registered: Jul 2007
Location: Directly above centre of the earth, UK
Distribution: SuSE, plus some hopping
Posts: 4,070

Rep: Reputation: 897Reputation: 897Reputation: 897Reputation: 897Reputation: 897Reputation: 897Reputation: 897
Quote:
Originally Posted by fahdmirza View Post

Actually I want to run Oracle Application Server on Redhat Linux, and I need every bit of that 16GB RAM.
There is a further issue which hadn't so far been mentioned; the PAE approach makes 4G available per application (or, if it makes a difference, per instance of an application, if you can helpfully run multiple instances).

If you have no alternative but to run a single instance of Oracle and you need all the memory that you can get, then investigating something that gives you the 'real' 64 bit system is clearly indicated.
 
Old 10-25-2009, 09:27 AM   #8
fahdmirza
LQ Newbie
 
Registered: Oct 2009
Distribution: RedHat
Posts: 5

Original Poster
Rep: Reputation: 0
salasi, do you mean application or process? As I understand everything in Linux runs as process and when Oracle runs it runs through many processes.

Will 4G memory be used for all the processes of Oracle?

or

Every Oracle Process will get 4G memory?

regards
 
Old 10-25-2009, 09:43 AM   #9
lazlow
Senior Member
 
Registered: Jan 2006
Posts: 4,363

Rep: Reputation: 172Reputation: 172
Any version of RHEL/Centos is very stable. Unless you have a very good reason not to, I would use the most current, 5.4 for both RHEL and Centos. 5 will be supported longer becuase it came out later. By its very nature 5 will be more "modern" than 4.
 
Old 10-25-2009, 09:48 AM   #10
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 fahdmirza View Post
do you mean application or process?
He meant process.
In 32 bit Linux, each process gets up to 3GB of virtual address space (the 4GB he mentioned includes 1GB of virtual memory that belongs to the kernel, not to the process).

In 64 bit Linux, 32 bit processes get up to the full 4GB of virtual address space. The kernel virtual address space in elsewhere.

In 64 bit Linux, 64 bit processes can have far more than 4GB of virtual address space.

Quote:
Oracle runs it runs through many processes.
I don't know how Oracle divides its work. I don't know whether there are significant advantages or disadvantages to 64 bit mode for Oracle.

Quote:
Will 4G memory be used for all the processes of Oracle?
In 32 bit Linux each process is limited to 3GB.

Some kinds of cooperating processes use primarily statically mapped shared memory, in which case that shared memory would be limited to fitting in each process's 3GB.

Other kinds of cooperating processes use dynamically mapped shared memory or private memory, so a 32 bit PAE Linux could run a set of cooperating processes that use far more than a total of 3GB.

For activities with a lot of file I/O (I expect Oracle is such) it is also helpful for a large amount of ram to be used for file caching. That is not included in the 3GB of ram that the individual processes are directly using.

I disagree with the implied claims (in posts above) that PAE has a performance overhead compared to 64 bit. The performance overhead of PAE compared to non PAE (32 bit) is usually trivial and 64 bit mode has that same (or slightly larger) performance overhead as compared to non PAE 32 bit.

64 bit mode might have significant performance advantages over PAE for a variety of reasons. It depends on what applications you are running and I don't know if anyone here has stats for how Oracle performance varies between PAE and 64 bit. But the overhead of PAE compared to 32 bit non PAE is not a factor to consider at all when comparing PAE to 64 bit.

The kernel virtual memory limit might be a significant problem for a PAE system with 16GB. With significantly less than 16GB it is unlikely that limit will matter. With significantly more than 16GB it is almost certain the kernel virtual memory limit would be a serious problem. But at 16GB, that issue is unclear.

Some versions of Red Hat made available a 32 bit kernel version with a kludge to work around the kernel virtual memory limits and decently utilize more than 16GB of ram. I don't recall which Red Hat versions, nor what they called that kernel. That kludge does have significant overhead compared to 64 bit mode and that kernel version would only make sense if you have a very good reason not to switch to 64 bit mode.

For your situation, the big advantage of PAE is that you can switch to PAE by changing just the kernel. You don't need to reinstall anything else.

But you might have good reason to reinstall anyway (You probably should switch from RedHat 4 to Centos 5.4). If you are reinstalling anyway, you probably should switch to 64 bit.

It is possible the kernel virtual memory limit will be a serious issue, so you would need 64 bit to get decent memory utilization.

It is possible (but I think unlikely) Oracle's cooperative processes can't make good use of multiple 3GB address spaces, so you would need 64 bit to get decent memory utilization.

On the opposite side, it is possible that the 64 bit pointers needed for 64 bit Oracle would result in higher L2 cache misses, so 64 bit Oracle would run slower than 32 bit Oracle. If that is true, then you would probably get best results by using 64 bit Centos but installing 32 bit Oracle.

I have investigated applications in which the 32 bit build of the application runs significantly faster than the 64 bit build and found that the 32 build of the application runs as well or better on a 64 bit OS as it does on a 32 bit OS.

Last edited by johnsfine; 10-25-2009 at 10:06 AM.
 
Old 10-26-2009, 10:33 AM   #11
fahdmirza
LQ Newbie
 
Registered: Oct 2009
Distribution: RedHat
Posts: 5

Original Poster
Rep: Reputation: 0
Johnsfine, thanks for such an indepth information.

Please tell me why you are suggesting going from RedHat 4 to Centos 5.4, why not from Redhat 4 to Redhat 5?

regards
 
Old 10-26-2009, 11:28 AM   #12
lazlow
Senior Member
 
Registered: Jan 2006
Posts: 4,363

Rep: Reputation: 172Reputation: 172
The only real difference between the two is that RHEL has paid support($). Most of us cannot afford that much. Centos takes RHEL source rpms, strips out the logos, and then makes their own rpms. This means that Centos is binary compatible with RHEL and that there is 100% version match (ie RHEL4.8=Centos4.8, RHEL5.4=Centos5.4). The only other major difference is that with Centos they ONLY support the most current dot release. This means that you could not stop at Centos5.2 and expect continued updates(moving from X.y to X.y+1 is just an update issue and does not require a new install. for either Centos or RHEL).
 
Old 10-26-2009, 12:13 PM   #13
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 fahdmirza View Post
Please tell me why you are suggesting going from RedHat 4 to Centos 5.4, why not from Redhat 4 to Redhat 5?

Mainly because you asked the original question at LQ rather than asking for help from Red Hat support.


The support you can get at LQ for Centos is at least as good (I think a little better) than the support at LQ for Red Hat.

For example, if you want to find out from LQ how to install some extra package on your Centos system, it is pretty easy for experts here (even those without a copy of Centos) to see what is available and tell you the right Yum command. The simple fact that Centos is not trying to require a paid license for access to binary updates makes it easier for them to make that info publicly available.

I don't know how to tell you what packages are available in Red Hat nor how to install them, and I suspect there are few people here other than those actually using Red Hat that could tell you.

Almost all of managing and using RHEL 5 is the same as managing and using Centos 5. If I understand correctly, Yum is a difference.

The advantage of Red Hat, if it is an advantage to you, is the paid support.
 
Old 10-26-2009, 08:23 PM   #14
jefro
Moderator
 
Registered: Mar 2008
Posts: 21,981

Rep: Reputation: 3625Reputation: 3625Reputation: 3625Reputation: 3625Reputation: 3625Reputation: 3625Reputation: 3625Reputation: 3625Reputation: 3625Reputation: 3625Reputation: 3625
Why not then suggest Oracle linux if the requirement is to be used as a DB?
 
Old 10-27-2009, 01:53 AM   #15
chrism01
LQ Guru
 
Registered: Aug 2004
Location: Sydney
Distribution: Rocky 9.2
Posts: 18,359

Rep: Reputation: 2751Reputation: 2751Reputation: 2751Reputation: 2751Reputation: 2751Reputation: 2751Reputation: 2751Reputation: 2751Reputation: 2751Reputation: 2751Reputation: 2751
Quote:
Almost all of managing and using RHEL 5 is the same as managing and using Centos 5. If I understand correctly, Yum is a difference.
No; as mentioned above Centos = RHEL; there's no difference (apart from proprietary logos) between the same versions of each.
The real difference is RHEL gives paid support, Centos doesn't.
Here's the RHEL KB about 32 vs 64 bit memory etc:
http://kbase.redhat.com/faq/docs/DOC-6571

Last edited by chrism01; 10-27-2009 at 08:56 PM.
 
  


Reply

Tags
oracle



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
32 bit OS and 4GB memory limit the_gripmaster Linux - General 51 03-02-2017 07:22 PM
Per-process memory queries on Redhat 5.3 (32 and 64-bit) sd136742 Linux - Software 2 08-20-2009 09:31 PM
All of the server memory 4 GB ram used; redhat 2.6.9; samba server 3.0! Help. admir330 Linux - Server 4 12-21-2008 06:56 AM
how to set memory cache limit for nfs server libin88 Linux - Server 1 10-24-2008 08:23 AM
64-bit Linux virtual memory limit? wmnwmn Linux - General 1 02-01-2008 10:43 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Red Hat

All times are GMT -5. The time now is 03:12 PM.

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