标题几乎概括了这一点。我有 5x2GB DDR3 RAM 棒可用,我的主板有 4 个插槽(华擎 907M Pro3)。无论我尝试哪种 RAM 棒组合,我的系统总共只使用 4GB:
$ cat /proc/meminfo
MemTotal: 4017860 kB
MemFree: 1587836 kB
MemAvailable: 2353096 kB
...
但是:BIOS 显示了所有 4 个棒,如下所示lshw
:
$ sudo lshw | grep -m 1 -A 46 "*-memory"
*-memory
Beschreibung: Systemspeicher
Physische ID: d
Steckplatz: Systemplatine oder Hauptplatine
Größe: 8GiB
*-bank:0
Beschreibung: DIMM DDR3 Synchron 1333 MHz (0,8 ns)
Produkt: F3-10666CL9-2GBNQ
Hersteller: Undefined
Physische ID: 0
Seriennummer: 00000000
Steckplatz: A1_DIMM0
Größe: 2GiB
Breite: 64 bits
Takt: 1333MHz (0.8ns)
*-bank:1
Beschreibung: DIMM DDR3 Synchron 1333 MHz (0,8 ns)
Produkt: CL6-6-6 DDR3-1333
Hersteller: Undefined
Physische ID: 1
Seriennummer: 00000000
Steckplatz: A1_DIMM1
Größe: 2GiB
Breite: 64 bits
Takt: 1333MHz (0.8ns)
*-bank:2
Beschreibung: DIMM DDR3 Synchron 1333 MHz (0,8 ns)
Produkt: F3-10666CL9-2GBNQ
Hersteller: Undefined
Physische ID: 2
Seriennummer: 00000000
Steckplatz: A1_DIMM2
Größe: 2GiB
Breite: 64 bits
Takt: 1333MHz (0.8ns)
*-bank:3
Beschreibung: DIMM DDR3 Synchron 1333 MHz (0,8 ns)
Produkt: CL6-6-6 DDR3-1333
Hersteller: Undefined
Physische ID: 3
Seriennummer: 00000000
Steckplatz: A1_DIMM3
Größe: 2GiB
Breite: 64 bits
Takt: 1333MHz (0.8ns)
(抱歉德语输出,但我认为你可以很容易地理解其含义)
编辑:另外,我在 dmesg 中发现了这个,不确定是否相关:
$ dmesg | grep -i -A 20 aperture
[ 0.000000] AGP: Checking aperture...
[ 0.000000] AGP: No AGP bridge found
[ 0.000000] AGP: Node 0: aperture [bus addr 0x6d08000000-0x6d09ffffff] (32MB)
[ 0.000000] Aperture beyond 4GB. Ignoring.
[ 0.000000] AGP: Your BIOS doesn't leave an aperture memory hole
[ 0.000000] AGP: Please enable the IOMMU option in the BIOS setup
[ 0.000000] AGP: This costs you 64MB of RAM
[ 0.000000] AGP: Mapping aperture over RAM [mem 0xb4000000-0xb7ffffff] (65536KB)
[ 0.000000] PM: Registered nosave memory: [mem 0xb4000000-0xb7ffffff]
[ 0.000000] Memory: 3907664K/4166000K available (8829K kernel code, 1441K rwdata, 3832K rodata, 1548K init, 1296K bss, 258336K reserved, 0K cma-reserved)
我启用了IOMMU(在北桥配置中,是否有与RAM相关的东西属于那里?),但没有任何变化,错误仍然发生。 UEFI版本已经是最新的(1.60)。
我尝试了以下方法:
- 阅读数十篇论坛帖子(大多数都提出了安装 pae 或高内存内核的“旧”建议)
- 重新编译内核(4.8.0-41)
- 以不同的方式重新组合 RAM 棒
- 在我的 UEFI 设置中搜索任何类型的设置
- 检查 RAM 频率是否正确等。
-> 完全没有反应。
你应该知道的事情:
我的系统是 Linux Mint 18.1 Serena 64位,KDE 版(该问题也出现在 MATE 版上):
$ uname -a Linux florian-desktop 4.8.0-42-generic #45~16.04.1-Ubuntu SMP Thu Mar 9 14:10:58 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
我的内核是 v4.8.0-42(该问题也出现在旧内核上)
我的内核启用了 PAE 并且我的 cpu (FX-8350) 支持它:
$ cat /proc/cpuinfo | grep pae flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 popcnt aes xsave avx f16c lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs xop skinit wdt lwp fma4 tce nodeid_msr tbm topoext perfctr_core perfctr_nb cpb hw_pstate vmmcall bmi1 arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold
知道是什么原因造成的吗?