[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Missing memory and the mystery of MTRRs



[This would probably be an FAQ if I knew the proper incantation...]

I realized recently that a box I've been running for a while isn't seeing all of its installed memory. The BIOS screens indicate that 8GB is installed, but Debian (recently upgraded to Buster) only sees a bit over 3GB.

cjg@dragon:~$ head -1 /proc/meminfo
MemTotal:        3331096 kB

During boot I noticed the following message:

[ 0.012080] WARNING: BIOS bug: CPU MTRRs don't cover all of memory, losing 4800MB of RAM.

So I guess it's time to start learning about the wonderful world of MTRRs.

cjg@dragon:~$ cat /proc/mtrr
reg00: base=0x000000000 (    0MB), size= 2048MB, count=1: write-back
reg01: base=0x080000000 ( 2048MB), size= 1024MB, count=1: write-back
reg02: base=0x0c0000000 ( 3072MB), size=  256MB, count=1: write-back
reg03: base=0x0cff00000 ( 3327MB), size=    1MB, count=1: uncachable

cjg@dragon:~$ head -9 /proc/cpuinfo
processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 15
model name	: Intel(R) Core(TM)2 CPU          6300  @ 1.86GHz
stepping	: 2
microcode	: 0x56
cpu MHz		: 1598.388
cache size	: 2048 KB

Here's the first part of /var/log/messages:

[ 0.000000] Linux version 4.19.0-6-amd64 (debian-kernel@lists.debian.org) (gcc version 8.3.0 (Debian 8.3.0-6)) #1 SMP Debian 4.19.67-2+deb10u1 (2019-09-20) [ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-4.19.0-6-amd64 root=UUID=4d3143dd-d732-4755-b832-05753ab9c53a ro quiet
[    0.000000] x86/fpu: x87 FPU will use FXSAVE
[    0.000000] BIOS-provided physical RAM map:
[    0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000008efff] usable
[ 0.000000] BIOS-e820: [mem 0x000000000008f000-0x000000000009ffff] reserved [ 0.000000] BIOS-e820: [mem 0x00000000000e0000-0x00000000000fffff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000000100000-0x00000000cfd60fff] usable
[ 0.000000] BIOS-e820: [mem 0x00000000cfd61000-0x00000000cfd6dfff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000cfd6e000-0x00000000cfe1efff] usable
[ 0.000000] BIOS-e820: [mem 0x00000000cfe1f000-0x00000000cfee8fff] ACPI NVS
[    0.000000] BIOS-e820: [mem 0x00000000cfee9000-0x00000000cfeecfff] usable
[ 0.000000] BIOS-e820: [mem 0x00000000cfeed000-0x00000000cfef1fff] ACPI data
[    0.000000] BIOS-e820: [mem 0x00000000cfef2000-0x00000000cfef2fff] usable
[ 0.000000] BIOS-e820: [mem 0x00000000cfef3000-0x00000000cfefefff] ACPI data
[    0.000000] BIOS-e820: [mem 0x00000000cfeff000-0x00000000cfefffff] usable
[ 0.000000] BIOS-e820: [mem 0x00000000cff00000-0x00000000cfffffff] reserved [ 0.000000] BIOS-e820: [mem 0x00000000fff00000-0x00000000ffffffff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000100000000-0x000000022bffffff] usable
[    0.000000] NX (Execute Disable) protection: active
[    0.000000] SMBIOS 2.4 present.
[ 0.000000] DMI: /DG965WH, BIOS MQ96510J.86A.1687.2007.0510.0258 05/10/2007
[    0.000000] tsc: Fast TSC calibration using PIT
[    0.000000] tsc: Detected 1864.782 MHz processor
[    0.011112] e820: update [mem 0x00000000-0x00000fff] usable ==> reserved
[    0.011115] e820: remove [mem 0x000a0000-0x000fffff] usable
[    0.011126] last_pfn = 0x22c000 max_arch_pfn = 0x400000000
[    0.011134] MTRR default type: uncachable
[    0.011135] MTRR fixed ranges enabled:
[    0.011137]   00000-9FFFF write-back
[    0.011139]   A0000-FFFFF uncachable
[    0.011140] MTRR variable ranges enabled:
[    0.011142]   0 base 000000000 mask F80000000 write-back
[    0.011144]   1 base 080000000 mask FC0000000 write-back
[    0.011145]   2 base 0C0000000 mask FF0000000 write-back
[    0.011147]   3 base 0CFF00000 mask FFFF00000 uncachable
[    0.011148]   4 disabled
[    0.011149]   5 disabled
[    0.011149]   6 disabled
[    0.011150]   7 disabled
[ 0.011968] x86/PAT: Configuration [0-7]: WB WC UC- UC WB WP UC- WT
[    0.012074] e820: update [mem 0xcff00000-0x22bffffff] usable ==> reserved
[ 0.012080] WARNING: BIOS bug: CPU MTRRs don't cover all of memory, losing 4800MB of RAM.

Is there some sort of HOWTO that covers this stuff? Where do I go from here?

--
cgibbs@surfnaked.ca (Charlie Gibbs)


Reply to: