使用 64 位 Linux 内核,在 /proc/meminfo 中看不到超过 4GB 的 RAM

使用 64 位 Linux 内核,在 /proc/meminfo 中看不到超过 4GB 的 RAM

我正在运行安装了 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 以上内存的访问。

相关内容