LinuxQuestions.org
Register a domain and help support LQ
Go Back   LinuxQuestions.org > Forums > Enterprise Linux Forums > Linux - Enterprise
User Name
Password
Linux - Enterprise This forum is for all items relating to using Linux in the Enterprise.

Notices

Reply
 
Search this Thread
Old 06-03-2009, 10:23 AM   #1
konark
LQ Newbie
 
Registered: Aug 2008
Location: Hyderabad, AP, India
Distribution: Fedora
Posts: 8

Rep: Reputation: 0
Linux not recognizing full RAM available.


HI all,
I have a dual processor(Intel Xeon) quadcore HP workstation with 8 GB RAM (2 X 4GB) and 600 GB Hard disk (2 X 300GB). It had windows vista pre-installed. I removed windows and installed Red Hat Linux Enterprize (5.0, 32 bit). All the softwares are running fine, but when I monitored the system using KDE's system monitoring tool, I was surprised to see that the system is recognizing only 4 GB RAM. At first I thought that there would be some mistake, but in order to check the system I ran a big job on it. Sure enough, the big job didnot run. The full RAM is not being recognized by the system. Can you please help me sort out this problem? Thanks in advance.
Looking forward for your response.
Konark
 
Old 06-03-2009, 10:39 AM   #2
vonbiber
Member
 
Registered: Apr 2009
Distribution: slackware
Posts: 299

Rep: Reputation: 50
Quote:
Originally Posted by konark View Post
HI all,
I have a dual processor(Intel Xeon) quadcore HP workstation with 8 GB RAM (2 X 4GB) and 600 GB Hard disk (2 X 300GB). It had windows vista pre-installed. I removed windows and installed Red Hat Linux Enterprize (5.0, 32 bit). All the softwares are running fine, but when I monitored the system using KDE's system monitoring tool, I was surprised to see that the system is recognizing only 4 GB RAM. At first I thought that there would be some mistake, but in order to check the system I ran a big job on it. Sure enough, the big job didnot run. The full RAM is not being recognized by the system. Can you please help me sort out this problem? Thanks in advance.
Looking forward for your response.
Konark
you need to rebuild your kernel (provided it's a fairly recent one,
2.6.2?.* at least) and in your config you should enable PAE
In order for the PAE option to appear when you do 'make menu config'
you need to check the HIGHMEM64GB and not HIGHMEM4GB

Here's an excerpt of my config (linux-2.6.29.3)
(the first option is for a 32-bit system. I didn't want to
change to a 64-bit architecture)

CONFIG_X86_32=y
# CONFIG_X86_64 is not set

# CONFIG_NOHIGHMEM is not set
# CONFIG_HIGHMEM4G is not set
CONFIG_HIGHMEM64G=y
CONFIG_HIGHMEM=y

CONFIG_X86_PAE=y
 
Old 06-15-2009, 03:42 PM   #3
jeenam
Member
 
Registered: Dec 2006
Distribution: Slackware 11
Posts: 144

Rep: Reputation: 15
No need to recompile the kernel by hand. RHEL offers PAE kernels from the yum/up2date repository.
 
Old 06-15-2009, 03:54 PM   #4
johnsfine
Guru
 
Registered: Dec 2007
Distribution: Centos
Posts: 5,138

Rep: Reputation: 1127Reputation: 1127Reputation: 1127Reputation: 1127Reputation: 1127Reputation: 1127Reputation: 1127Reputation: 1127Reputation: 1127
Quote:
Originally Posted by konark View Post
installed Red Hat Linux Enterprize (5.0, 32 bit)
Any particular reason for selecting Red Hat and for selecting 32 bit?

At this point, all you really need is that PAE kernel, so those choices are probably just fine. But they are strange choices.

If you are paying for Red Hat support, it is strange you looked here for support. If you aren't paying for Red Hat support, I think Centos is a better way to set up a Red Hat like server. If the system isn't a server, I think some Debian based distribution would be better than any form of Red Hat.

If it isn't a server, it would also be hard to explain 8GB of ram on a 32 bit system. 8GB of ram on a 32 bit system may be a good idea if you are running a lot of moderate size jobs in parallel. 8 total cores (if I understood you right) also fits that use. If you are running fewer larger jobs (especially large multi threaded applications) and 8GB is justified, then a 64bit kernel would make a lot more sense.

Quote:
Originally Posted by konark View Post
in order to check the system I ran a big job on it. Sure enough, the big job didnot run.
What kind of big job? Probably it still won't run after you get a PAE kernel that enables use of all your ram.

I assume you have some swap space, so if a big job didn't run, that means it exceeded the limit on virtual memory, not physical memory. Even with PAE, a single task virtual memory is still limited to 3GB. You can make good use of 8GB physical ram with several separate 32 bit tasks running in parallel, but not with one big task.

If you want to run such big tasks, switch to a 64 bit distribution of Linux.

I'm very happily using Centos 5.3 64bit for server systems. I was a bit unhappy that the download is so big: many CD's or one DVD and then it loads so little off the DVD during install and gets almost everything from the net after initial install. But otherwise, very happy.

For a non server system, I'm even happier with Mepis 8.0 (one CD to install and that covers almost everything I wanted, with relatively little needed to come from the net after initial install).

BTW, that excess amount of download needed for Centos wasn't really a big deal to me nor was the relative download efficiency of Mepis. The behavior of both after install is far more important. But since I don't know what connectivity issues others might have, I feel like I should mention that flaw in Centos.

Last edited by johnsfine; 06-15-2009 at 04:07 PM.
 
Old 06-16-2009, 09:18 AM   #5
konark
LQ Newbie
 
Registered: Aug 2008
Location: Hyderabad, AP, India
Distribution: Fedora
Posts: 8

Original Poster
Rep: Reputation: 0
HI! Thanks for your replies...
Well, the big job was the one I was originally running on SGI Altix. I used Red Hat 32 bit as I had faced a lot of problems with 64 bit Linux on my desktop.. I will be using it for both : moderate as well as big jobs. Will come back if I face any problems in resolving the issue.
Thanks...
 
Old 07-05-2009, 12:46 AM   #6
avalonit
Member
 
Registered: Jun 2008
Posts: 71

Rep: Reputation: 17
Quote:
Originally Posted by konark View Post
HI! Thanks for your replies...
Well, the big job was the one I was originally running on SGI Altix. I used Red Hat 32 bit as I had faced a lot of problems with 64 bit Linux on my desktop.. I will be using it for both : moderate as well as big jobs. Will come back if I face any problems in resolving the issue.
You can't have a process using more than around 2,5-3G RAM on a 32bit system (be it linux or other OS). Although you can have say 3 processes using 2G each.
To use the full RAM you will need to use a 64bit OS and a 64bit application.
 
Old 08-03-2010, 05:07 PM   #7
jdev789
LQ Newbie
 
Registered: Nov 2006
Distribution: RHEL 4
Posts: 4

Rep: Reputation: 0
Question Still not seeing 4GB of memory even after the PAE kernel installed on FC13

Greetings,

I am curious to know if there is a way to see the other 1 GB of memory on a T60 Lenovo Notebook where I have a PAE Kernel on FC13 x86.

Here is my data:


j@fedora13 Desktop]$ free -m
total used free shared buffers cached
Mem: 3023 428 2595 0 27 169
-/+ buffers/cache: 230 2793
Swap: 5055 0 5055
[j@fedora13 Desktop]$ uname -a
Linux fedora13.t60p.us-oracle.com 2.6.33.6-147.2.4.fc13.i686.PAE #1 SMP Fri Jul 23 17:21:06 UTC 2010 i686 i686 i386 GNU/Linux
[john@fedora13 Desktop]$ free -m
total used free shared buffers cached
Mem: 3023 617 2406 0 29 291
-/+ buffers/cache: 295 2727
Swap: 5055 0 5055
[j@fedora13 Desktop]$

I am curious that I am still only seeing 3GB of memory and not the other 1GB that is there.

Any thoughts to why the PAE Kernel is not allowing to see more than 3GB?
 
Old 08-03-2010, 06:19 PM   #8
johnsfine
Guru
 
Registered: Dec 2007
Distribution: Centos
Posts: 5,138

Rep: Reputation: 1127Reputation: 1127Reputation: 1127Reputation: 1127Reputation: 1127Reputation: 1127Reputation: 1127Reputation: 1127Reputation: 1127
The PAE kernel sees only the ram that the BIOS lets the OS use. A 64 bit kernel would have the same limit.

Many BIOS's have a confusingly named and located menu option to allow the OS to see the memory that you are missing. Often that menu option is something about "memory remap".

You could look through the whole BIOS menu and see what looks like an option about memory or ram.

But some motherboards or chipsets have a max memory of 3GB or a small amount more, so no BIOS setting is even possible to allow the OS to use 4GB. Many of those are in systems that advertise a 4GB max memory. So an advertised 4GB max memory does not necessarily mean you can use more than 3GB.

The BIOS (or the OS) can use dmidecode to detect and report the total installed ram even if the chipset or motherboard (or just BIOS menu setting) won't allow all the ram to be used. Most people seeing the BIOS report 4GB of ram assume that means the BIOS has enabled use of 4GB of ram. It doesn't mean that.

Last edited by johnsfine; 08-03-2010 at 06:26 PM.
 
Old 08-03-2010, 10:08 PM   #9
Ehtetur
Member
 
Registered: Mar 2008
Location: Atlanta, GA
Distribution: Red Hat Enterprise Linux, Scientific Linux
Posts: 52

Rep: Reputation: 16
Try interrupting GRUB and adding mem=4096M to the end of the kernel line
 
Old 08-04-2010, 08:04 AM   #10
johnsfine
Guru
 
Registered: Dec 2007
Distribution: Centos
Posts: 5,138

Rep: Reputation: 1127Reputation: 1127Reputation: 1127Reputation: 1127Reputation: 1127Reputation: 1127Reputation: 1127Reputation: 1127Reputation: 1127
Quote:
Originally Posted by Ehtetur View Post
Try interrupting GRUB and adding mem=4096M to the end of the kernel line
I'm pretty sure that option can only be used to reduce the amount of memory used below what the BIOS makes available. It cannot be used to enable access to memory that the BIOS has not mapped to physical addresses.

You can confirm the the problem is in the BIOS/Motherboard/Chipset (rather than in the Linux kernel) by using dmesg | less and looking at the BIOS-provide physical RAM map near the top of that output. (If too much has been written to that log since the last boot, it might not be there without rebooting first).

If a full 4GB (or more) of ram has been enabled by the BIOS, the last line of that table should look something like this
BIOS-e820: 0000000100000000 - 0000000130000000 (usable)
Notice the first number is 0000000100000000 and the label on the end is usable

If the BIOS has enable significantly less than 4GB, the last line of that table will look like (what would be the second to last line with 4GB or more)
BIOS-e820: 00000000ffb00000 - 0000000100000000 (reserved)

Notice the second number is 0000000100000000 and the label on the end is reserved
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

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
RHEL4 isn't recognizing all my RAM kerinism1 Linux - Hardware 2 06-24-2007 07:10 PM
RAM becomes full izvrashenj Debian 5 07-20-2006 12:57 PM
Linux Not recognizing 2GB of Ram VampireL0rd Linux - Hardware 7 03-08-2006 01:39 AM
RAM seems very full? ginda Linux - Newbie 12 03-07-2005 11:17 PM
Mandrake 10 Only recognizing 256 RAM on a T22 GyreGimble Linux - Laptop and Netbook 1 11-09-2004 08:05 PM


All times are GMT -5. The time now is 08:05 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
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration