Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I have IBM server with 16 GB RAM installed. Initially it showed 16 GB with

free | grep Mem | awk '{print $2}'

but now it shows only

8116136

but it must show

16439208

When I do

dmidecode -t 17 | grep Size
Size: 8192 MB
Size: No Module Installed
Size: No Module Installed
Size: No Module Installed
Size: No Module Installed
Size: No Module Installed
Size: No Module Installed
Size: No Module Installed
size: No Module Installed
Size: No Module Installed
Size: No Module Installed
Size: No Module Installed
Size: 8192 MB
Size: No Module Installed
Size: No Module Installed
Size: No Module Installed
Size: No Module Installed
Size: No Module Installed
Size: No Module Installed
Size: No Module Installed
Size: No Module Installed
Size: No Module Installed
Size: No Module Installed
Size: No Module Installed

so what can be the issue. Its a physical Server.

also with

 dmidecode -t 17 | awk '( /Size/ && $2 ~ /^[0-9]+$/ ) { x+=$2 } END{ print "\t" "Installed Ram: " x "MB"}'

this command i get following:

Installed Ram: 16384MB

I am really stuck with this can you guys help me out.

Also top command shows following:

top - 13:05:13 up 22:52,  1 user,  load average: 0.23, 0.30, 0.27
Tasks: 631 total,   2 running, 629 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.1%us,  1.2%sy,  1.0%ni, 97.6%id,  0.0%wa,  0.1%hi,  0.0%si,  0.0%st
Mem:   8116136k total,  1402980k used,  6713156k free,   164576k buffers
Swap:  8224760k total,        0k used,  8224760k free,   457856k cached

EDIT

free -m gives me following

             total       used       free     shared    buffers     cached
Mem:          7925       1372       6553          0        164        454
-/+ buffers/cache:        753       7172
Swap:         8031          0       8031

uname -a gives me following

Linux localhost.localdomain 2.6.32-358.el6.x86_64 #1 SMP Fri Feb 22 00:31:26 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

the file grub.conf contains

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/mapper/vg_livecd-lv_root
#          initrd /initrd-[generic-]version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.32-358.el6.x86_64)
    root (hd0,0)
    kernel /vmlinuz-2.6.32-358.el6.x86_64 ro root=/dev/mapper/vg_livecd-lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_LVM_LV=vg_livecd/lv_swap rd_NO_MD rd_LVM_LV=vg_livecd/lv_root SYSFONT=latarcyrheb-sun16 crashkernel=8128M  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet
    initrd /initramfs-2.6.32-358.el6.x86_64.img
share|improve this question
    
Unclear!, please put less grep : keep the nature of info your put on screen. Why not use free -m ? Have you tried to plug off memory then plug it again. Have your server restarted? –  MUY Belgium Jun 19 at 9:28
    
I have restarted my server and got it checked by IBM support guys and they say ram modules are good –  JyotiPrakash Jun 19 at 9:33
    
What's your kernel? Can you edit into your question the output of uname -a? –  MadHatter Jun 19 at 9:38
1  
What does the BIOS show? What does memtest86+ show? –  David Schwartz Jun 19 at 10:18
3  
alternatively some IBM systems have Memory mirroring: Memory mirroring is roughly equivalent to RAID-1 in disk arrays, in that memory is divided in two ports and one port is mirrored to the other half. If 8 GB is installed, then the operating system sees 4 GB once memory mirroring is enabled –  HBruijn Jun 19 at 10:24

1 Answer 1

up vote 3 down vote accepted

When did this server show 16GB of RAM and when did it show 8GB of RAM?

I'm assuming this is not a new installation because you're using a kernel that's over 1 year old. Can you run updates? My general recommendation would be to update your system's kernel (and OS), since that's just the right thing to do, and you're on the base kernel of CentOS 6.4...

Edit:

A closer inspection of your kernel boot command shows that you've reserved almost 8 Gigabytes of RAM for your crashkernel.

kernel /vmlinuz-2.6.32-358.el6.x86_64 ro root=/dev/mapper/vg_livecd-lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_LVM_LV=vg_livecd/lv_swap rd_NO_MD rd_LVM_LV=vg_livecd/lv_root SYSFONT=latarcyrheb-sun16 crashkernel=8128M KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet

The recommended value for a system of your specifications is much lower.

The amount of reserved memory is either determined by the user, or when the crashkernel=auto option is used, it defaults to 128 MB plus 64 MB for each TB of physical memory (that is, a total of 192 MB for a system with 1 TB of physical memory).

Remove the "crashkernel=8128M" or set the crashkernel value to "auto" and try again.

How did this value even get set in the first place?

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.