我有一台安装了 16 GB RAM 的 IBM 服务器。最初它显示 16 GB,
free | grep Mem | awk '{print $2}'
但现在只显示
8116136
但它必须表明
16439208
当我做
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
那么问题可能是什么呢?它是一台物理服务器。
还有
dmidecode -t 17 | awk '( /Size/ && $2 ~ /^[0-9]+$/ ) { x+=$2 } END{ print "\t" "Installed Ram: " x "MB"}'
此命令我得到以下内容:
Installed Ram: 16384MB
我真的被这个问题难住了,你们能帮助我吗?
top 命令还显示以下内容:
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
编辑
free -m
让我关注
total used free shared buffers cached
Mem: 7925 1372 6553 0 164 454
-/+ buffers/cache: 753 7172
Swap: 8031 0 8031
uname -a 给了我以下
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
该文件grub.conf
包含
# 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
答案1
什么时候该服务器是否显示 16GB RAM 以及什么时候它显示有 8GB RAM 吗?
我假设这不是新安装,因为您使用的内核已有 1 年多的历史。您可以运行更新吗?我的一般建议是更新系统的内核(和操作系统),因为这是正确的做法,而且您使用的是 CentOS 6.4 的基本内核……
编辑:
仔细检查内核启动命令后发现你已保留近 8 GB 的 RAM为您的崩溃内核。
内核/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崩溃内核=8128M 键盘类型=pc 键盘表=us rd_NO_DM rhgb quiet
您的系统规格的推荐值为低得多。
保留内存的数量可以由用户决定,或者当使用 crashkernel=auto 选项时,默认为 128 MB 加上每 TB 物理内存 64 MB(即,对于具有 1 TB 物理内存的系统,总共为 192 MB)。
删除“crashkernel=8128M”或将 crashkernel 值设置为“auto”,然后重试。
这个值最初是如何设定的?