我正在运行安装了 8GB RAM 的新电脑,内存模块显示在 BIOS 屏幕和 dmidecode 中,但总量只有 4GB
/proc/meminfo 中仅显示 4GB
uname -a
Linux localhost 3.0.6-gentoo #2 SMP PREEMPT Sat Nov 19 10:45:22 GMT-- x86_64 AMD
Phenom(tm) II X4 955 Processor AuthenticAMD GNU/Linux
/proc/meminfo 的结果如下:(感谢 Andrey)
MemTotal: 4021348 kB
MemFree: 1440280 kB
Buffers: 23696 kB
Cached: 1710828 kB
SwapCached: 4956 kB
Active: 1389904 kB
Inactive: 841364 kB
Active(anon): 1337812 kB
Inactive(anon): 714060 kB
Active(file): 52092 kB
Inactive(file): 127304 kB
Unevictable: 32 kB
Mlocked: 32 kB
SwapTotal: 8388604 kB
SwapFree: 8047900 kB
Dirty: 0 kB
Writeback: 0 kB
AnonPages: 492732 kB
Mapped: 47528 kB
Shmem: 1555120 kB
Slab: 267724 kB
SReclaimable: 177464 kB
SUnreclaim: 90260 kB
KernelStack: 1176 kB
PageTables: 12148 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 10399276 kB
Committed_AS: 3293896 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 317008 kB
VmallocChunk: 34359398908 kB
AnonHugePages: 120832 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
DirectMap4k: 23552 kB
DirectMap2M: 3088384 kB
DirectMap1G: 1048576 kB
我曾尝试使用 mem=8G 作为内核启动参数,我读过一篇关于将 HIGHMEM64G 设置为 yes 的帖子,然后才意识到它仅适用于 32 位内核。
尝试 dmidecode -t memory
SMBIOS 2.7 present.
Handle 0x0026, DMI type 16, 23 bytes
Physical Memory Array
Location: System Board Or Motherboard
Use: System Memory
Error Correction Type: Multi-bit ECC
Maximum Capacity: 32 GB
Error Information Handle: Not Provided
Number Of Devices: 4
Handle 0x0028, DMI type 17, 34 bytes
Memory Device
Array Handle: 0x0026
Error Information Handle: Not Provided
Total Width: 64 bits
Data Width: 64 bits
Size: 4096 MB
Form Factor: DIMM
Set: None
Locator: DIMM0
Bank Locator: BANK0
Type: <OUT OF SPEC>
Type Detail: Synchronous
Speed: 1333 MHz
Manufacturer: Manufacturer0
Serial Number: SerNum0
Asset Tag: AssetTagNum0
Part Number: Array1_PartNumber0
Rank: Unknown
Handle 0x002A, DMI type 17, 34 bytes
Memory Device
Array Handle: 0x0026
Error Information Handle: Not Provided
Total Width: Unknown
Data Width: 64 bits
Size: No Module Installed
Form Factor: DIMM
Set: None
Locator: DIMM1
Bank Locator: BANK1
Type: Unknown
Type Detail: Synchronous
Speed: Unknown
Manufacturer: Manufacturer1
Serial Number: SerNum1
Asset Tag: AssetTagNum1
Part Number: Array1_PartNumber1
Rank: Unknown
Handle 0x002C, DMI type 17, 34 bytes
Memory Device
Array Handle: 0x0026
Error Information Handle: Not Provided
Total Width: 64 bits
Data Width: 64 bits
Size: 4096 MB
Form Factor: DIMM
Set: None
Locator: DIMM2
Bank Locator: BANK2
Type: <OUT OF SPEC>
Type Detail: Synchronous
Speed: 1333 MHz
Manufacturer: Manufacturer2
Serial Number: SerNum2
Asset Tag: AssetTagNum2
Part Number: Array1_PartNumber2
Rank: Unknown
Handle 0x002E, DMI type 17, 34 bytes
Memory Device
Array Handle: 0x0026
Error Information Handle: Not Provided
Total Width: Unknown
Data Width: 64 bits
Size: No Module Installed
Form Factor: DIMM
Set: None
Locator: DIMM3
Bank Locator: BANK3
Type: Unknown
Type Detail: Synchronous
Speed: Unknown
Manufacturer: Manufacturer3
Serial Number: SerNum3
Asset Tag: AssetTagNum3
Part Number: Array1_PartNumber3
Rank: Unknown
我的主板是华硕 M5 A99X EVO,有人提到其他主板也存在类似问题,但通过固件升级解决了。我使用的是最新固件,但问题似乎变得更严重了。
答案1
您可能已激活某些内存冗余功能(如内存镜像) - 这会减少操作系统可用的 RAM 量。某些 BIOS 还提供一种兼容模式(通常标记为“操作系统安装模式”),其中可见内存总量受到限制,以解决安装程序错误 - 请检查这一点。
答案2
进入 BIOS,找到一个名为“内存重新映射”的设置。将其在。否则,您的 BIOS 将按照 32 位操作系统期望的方式设置内存,并切断对 4GB 以上内存的访问。