发布时间: 2015-12-02 | 浏览次数: 1737 | 下载次数: 0 | 作者: SU1001559074 | 文档编号: EKB1000091150
从Linux操作系统/pro/meminfo文件中查询内存总容量,其中2台服务器的总容量较另外8台少了“100568 KB”。
hwlg3501
MemTotal: 264094448 kB
hwlg3502
MemTotal: 264094448 kB
hwlg3503
MemTotal: 264195016 kB
hwlg3504
MemTotal: 264195016 kB
hwlg3505
MemTotal: 264195016 kB
hwlg3506
MemTotal: 264195016 kB
hwlg3507
MemTotal: 264195016 kB
hwlg3508
MemTotal: 264195016 kB
hwlg3509
MemTotal: 264195016 kB
hwlg3510
MemTotal: 264195016 kB
检查hwlg3501、hwlg3502两台服务器硬件配置,其与其他服务器配置完全相同,同时运行正常,无故障。排除硬件差异或者故障导致此问题。
运行“uname -a”检查操作系统版本信息,hwlg3501、hwlg3502操作系统内核版本如下:
检查其他服务器操作系统内核版本如下:
两者内核版本并不一致,进一步检查/boot/grup/menu.lst文件。
hwlg3501和hw3502两台服务器默认启动到“2.6.32-504.el6.x86_64.debug”,与其他服务器设置不同。
[root@hwlg3501 grub]# cat menu.lst
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You do not have a /boot partition. This means that
# all kernel and initrd paths are relative to /, eg.
# root (hd0,0)
# kernel /boot/vmlinuz-version ro root=/dev/sda1
# initrd /boot/initrd-[generic-]version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux 6-debug (2.6.32-504.el6.x86_64.debug)
root (hd0,0)
kernel /boot/tboot.gz logging=vga,serial,memory
module /boot/vmlinuz-2.6.32-504.el6.x86_64.debug ro root=UUID=550500db-7672-4bf9-92cd-3f5f9bb9d4aa intel_iommu=on amd_iommu=on rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=us LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 rd_NO_LVM crashkernel=auto rhgb quiet rd_NO_DM rhgb quiet
module /boot/initramfs-2.6.32-504.el6.x86_64.debug.img
title Red Hat Enterprise Linux 6 (2.6.32-504.el6.x86_64)
root (hd0,0)
kernel /boot/tboot.gz logging=vga,serial,memory
module /boot/vmlinuz-2.6.32-504.el6.x86_64 ro root=UUID=550500db-7672-4bf9-92cd-3f5f9bb9d4aa intel_iommu=on amd_iommu=on rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=us LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 rd_NO_LVM crashkernel=auto rhgb quiet rd_NO_DM rhgb quiet
module /boot/initramfs-2.6.32-504.el6.x86_64.img
由于两者内存容量差异仅有约100MB,基本可以排除硬件问题导致内存容量差异。
在Linux操作系统中/proc/meminfo显示的memtotal也并非内存的物理容量。该项目中每台服务器配置32GB*8=256GB内存,折合“268435456 KB”,较meminfo文件显示的容量多“4240440 KB”。
这些内容是Linux系统预留的内存,主要用于存放初始代码,系统缓存等。不同的内核版本,其预留数量不同,这也是导致本案例中问题的原因。修改hwlg3501,hwlg3502两台服务器的启动选项,重新启动服务器。
启动成功后,在meminfo文件中查看到的内存总容量与其他服务器相同。
不同的操作系统,不同的系统版本,其对内存的分配使用策略不同,从操作系统里面查询的内存容量值并非真实的物理内存容量。
如果是作硬件配置确认,建议从服务器的管理界面iBMC进行确认,或者使用Linux的dmesg命令更加准确。