LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Hardware (https://www.linuxquestions.org/questions/linux-hardware-18/)
-   -   added more memory but not detecting all of it. (https://www.linuxquestions.org/questions/linux-hardware-18/added-more-memory-but-not-detecting-all-of-it-637173/)

linuxfia 04-22-2008 08:42 PM

added more memory but not detecting all of it.
 
My system is CentOS5.
The hardware is Dell Optiplex.
The system had 2 GB and I've added 4 GB more but it's only detecting 3 GB total.
# free -m
total used free shared buffers cached
Mem: 3033 546 2486 0 33 353
-/+ buffers/cache: 160 2872
Swap: 1983 0 1983

Any suggestions>?

Thanks!

ranger_nemo 04-22-2008 09:24 PM

Does the BIOS show the right amount of memory? If not, then Linux will never be able to see it. Many motherboards can't deal with more than 3GB.

lazlow 04-22-2008 09:27 PM

If you are running 32bit that is all you are going to see, unless you switch to a PAE kernel. If you do that you will take a performance hit (translating 32bit to 40bit). If you use 64bit there should be no issue.

linuxfia 04-23-2008 12:49 AM

I heard that there's no kernel-PAE anymore but I should install kernel-hugemem. Is kernel-hugemem what I need?
Would the performance be a lot better than my present system where it only sees 3 GB?

lazlow 04-23-2008 01:01 AM

Centos repo still shows PAE.

http://mirror.centos.org/centos/5/updates/i386/RPMS/

SqdnGuns 04-23-2008 02:14 AM

Roll your own kernel and select this option:

CONFIG_HIGHMEM64G=y

I had my set at 4GB and it did not read all of it, once I did the above, here's the results:

Code:

farang@tingtong:~$ free
            total      used      free    shared    buffers    cached
Mem:      4148120    1669872    2478248          0      71972    1385648
-/+ buffers/cache:    212252    3935868
Swap:      995988          0    995988


johnsfine 04-23-2008 06:25 AM

Quote:

Originally Posted by linuxfia (Post 3129899)
Would the performance be a lot better than my present system where it only sees 3 GB?

That depends on what you do with the system.

If you even need to ask the question, you probably don't have large enough use of memory by processes to cause a lot of accesses to the swap space with 3 GB of memory.

But even if the swap space was never used at all with 3 GB, more memory can cause Linux to do more file caching, which may reduce the number of disk accesses required for file I/O. Depending on what you do with your system, that might make a very big difference or no difference or anywhere in between.

I'm not sure of the exact overall and performance limits of file caching in a 32 bit kernel, but it is limited. If best performance would be achieved by using a large fraction of 6GB for file caching, then I think you need a 64bit kernel to do that. The PAE kernel can allow more file caching than the non PAE 32-bit kernel, but not as well as the 64 bit kernel.

But, if your 3GB system were using a lot of swap space for active processes, then a PAE kernel could make just as good use of the extra memory as a 64bit kernel. Or, if you do so little disk access (file I/O or swapping) that the extra memory makes no difference for that reason, then the 64 bit kernel wouldn't help.

Quote:

Originally Posted by lazlow (Post 3129742)
unless you switch to a PAE kernel. If you do that you will take a performance hit (translating 32bit to 40bit). If you use 64bit there should be no issue.

The translation structure is one level higher and twice as wide for PAE than for non PAE 32bit. But the translation structure for 64bit is another level higher than for PAE and the same width as PAE.

Probably you won't notice the performance hit for the increased translation structure. But if you do notice it, it would be bigger for 64bit, not "no issue" for 64bit.

Quote:

Originally Posted by linuxfia (Post 3129899)
I heard that there's no kernel-PAE anymore but I should install kernel-hugemem. Is kernel-hugemem what I need?

Hugemem and HIGHMEM64G are both just names for enabling PAE support in a 32bit kernel. Use whichever name for PAE your repository uses or the kernel config GUI uses (if you make a new kernel).

linuxfia 04-23-2008 11:54 AM

Thanks, I've installed kernel-PAE.
The kernel-hugemem was for CentOS4 and there was kernel-PAE for CentOS5.
How would I go about having my system to boot to the kernel-PAE by default instead of having to select the kernel manually? Right now, it by default boots to the other non PAE kernel. I'm guessing I could comment out the old kernel lines in grub.conf but was wondering if there's a standard way...

#boot=/dev/sda
default=1
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.18-53.1.14.el5PAE)
root (hd0,0)
kernel /vmlinuz-2.6.18-53.1.14.el5PAE ro root=/dev/VolGroup00/LogVol00 rhgb quiet
initrd /initrd-2.6.18-53.1.14.el5PAE.img
title CentOS (2.6.18-53.1.14.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-53.1.14.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
initrd /initrd-2.6.18-53.1.14.el5.img
"/boot/grub/grub.conf" 25L, 945C

ranger_nemo 04-23-2008 04:45 PM

Set the default= to whichever you want to be the default. You do, of course, start counting with 0.

linuxfia 04-24-2008 11:05 AM

Thanks, I need to set the default = 0.


All times are GMT -5. The time now is 01:04 AM.