2013-01-14

linux whole ram

Linux kernel could not recognize whole RAM [ID 1448147.1]

Applies to:

Linux OS - Version Oracle Linux 5.5 with Unbreakable Enterprise Kernel [2.6.32] and later
Information in this document applies to any platform.

Symptoms

Physical server running kernel-uek has 256GB RAM but only recognize 3.5GB after bootup.

System log shows:
Feb 24 12:07:48 ora kernel: Linux version 2.6.32-300.7.1.el6uek.x86_64
(mockbuild@ca-build44.us.oracle.com) (gcc version 4.4.4 20100726 (Red Hat
4.4.4-13) (GCC) ) #1 SMP Mon
Jan 23 19:21:55 EST 2012
Feb 24 12:07:48 ora kernel: Command line: ro root=/dev/mapper/vg0-lv0
nomodeset rd_NO_LUKS rd_LVM_LV=vg0/lv1 rd_LVM_LV=vg0/lv0 rd_NO_MD quiet
SYSFONT=latarcyrheb-sun16 rhgb
LANG=cs_CZ.UTF-8 KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM
Feb 24 12:07:48 ora kernel: KERNEL supported cpus:
Feb 24 12:07:48 ora kernel: Intel GenuineIntel
Feb 24 12:07:48 ora kernel: AMD AuthenticAMD
Feb 24 12:07:48 ora kernel: Centaur CentaurHauls
Feb 24 12:07:48 ora kernel: BIOS-provided physical RAM map:
Feb 24 12:07:48 ora kernel: BIOS-e820: 0000000000000000 - 0000000000099800
(usable)
Feb 24 12:07:48 ora kernel: BIOS-e820: 0000000000099800 - 00000000000a0000
(reserved)
Feb 24 12:07:48 ora kernel: BIOS-e820: 00000000000e6000 - 0000000000100000
(reserved)
Feb 24 12:07:48 ora kernel: BIOS-e820: 0000000000100000 - 00000000dfea0000
(usable)
Feb 24 12:07:48 ora kernel: BIOS-e820: 00000000dfea0000 - 00000000dfeb2000
(ACPI data)
Feb 24 12:07:48 ora kernel: BIOS-e820: 00000000dfeb2000 - 00000000dfee0000
(ACPI NVS)
Feb 24 12:07:48 ora kernel: BIOS-e820: 00000000dfee0000 - 00000000f0000000
(reserved)
Feb 24 12:07:48 ora kernel: BIOS-e820: 00000000ffe00000 - 0000000100000000
(reserved)
Feb 24 12:07:48 ora kernel: BIOS-e820: 0000000100000000 - 0000004020000000
(usable)
Feb 24 12:07:48 ora kernel: DMI present.
Feb 24 12:07:48 ora kernel: AMI BIOS detected: BIOS may corrupt low RAM,
working around it.
Feb 24 12:07:48 ora kernel: last_pfn = 0x4020000 max_arch_pfn = 0x400000000
Feb 24 12:07:48 ora kernel: x86 PAT enabled: cpu 0, old 0x7040600070406, new
0x7010600070106
Feb 24 12:07:48 ora kernel: WARNING: BIOS bug: CPU MTRRs don't cover all of
memory, losing 258560MB of RAM.
Feb 24 12:07:48 ora kernel: ------------[ cut here ]------------
Feb 24 12:07:48 ora kernel: WARNING: at
arch/x86/kernel/cpu/mtrr/cleanup.c:1092
mtrr_trim_uncached_memory+0x2d2/0x2fd()
Feb 24 12:07:48 ora kernel: Hardware name: H8DGU-LN4
Feb 24 12:07:48 ora kernel: Modules linked in:
Feb 24 12:07:48 ora kernel: Pid: 0, comm: swapper Not tainted
2.6.32-300.7.1.el6uek.x86_64 #1
Feb 24 12:07:48 ora kernel: Call Trace:
Feb 24 12:07:48 ora kernel: [<ffffffff81056f98>]
warn_slowpath_common+0x7c/0x94
Feb 24 12:07:48 ora kernel: [<ffffffff81056fc4>] warn_slowpath_null+0x14/0x16
Feb 24 12:07:48 ora kernel: [<ffffffff81b6525e>]
mtrr_trim_uncached_memory+0x2d2/0x2fd
Feb 24 12:07:48 ora kernel: [<ffffffff81b5fd97>] setup_arch+0x475/0xa43
Feb 24 12:07:48 ora kernel: [<ffffffff8144dccb>] ? printk+0x41/0x46
Feb 24 12:07:48 ora kernel: [<ffffffff81b5aa2c>] start_kernel+0xdc/0x406
Feb 24 12:07:48 ora kernel: [<ffffffff81b5a2c1>]
x86_64_start_reservations+0xac/0xb0
Feb 24 12:07:48 ora kernel: [<ffffffff81b5a3bd>]
x86_64_start_kernel+0xf8/0x107
Feb 24 12:07:48 ora kernel: ---[ end trace a7919e7f17c0a725 ]---
Feb 24 12:07:48 ora kernel: update e820 for mtrr

Cause

BIOS trouble.

Solution

Please keep BIOS upgraded as latest version.

Workaround is disable mtrr in grub.conf, make it read as:
Note: disable_mtrr_trim option is not available in kernel-2.6.18-xxx.
For Oracle Linux 5.x:
title Oracle Linux Server (2.6.32-300.10.1.el5uek)
          root (hd0,0)
          kernel /vmlinuz-2.6.32-300.10.1.el5uek ro root=/dev/VolGroup01/rootlv vga=normal nomodeset rhgb quiet disable_mtrr_trim
          initrd /initrd-2.6.32-300.10.1.el5uek.img
For Oracle Linux 6.x:
title Oracle Linux Server (2.6.32-300.11.1.el6uek.x86_64)
          root (hd0,0)
          kernel /vmlinuz-2.6.32-300.11.1.el6uek.x86_64 ro root=/dev/mapper/vg0-lv0 nomodeset rd_NO_LUKS rd_LVM_LV=vg0/lv1 rd_LVM_LV=vg0/lv0 rd_NO_MD SYSFONT=latarcyrheb-sun16 LANG=cs_CZ.UTF-8 KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM disable_mtrr_trim

Niciun comentariu:

Trimiteți un comentariu