16.04LTS 64 位仅显示 8GB 内存中的 3.9GB

16.04LTS 64 位仅显示 8GB 内存中的 3.9GB

free -m output

              total        used        free      shared  buff/cache   available
Mem:           3951        1291        1720          41         939        2362
Swap:          4094           0        4094

dmidecode输出:

Handle 0x000C, DMI type 16, 15 bytes
Physical Memory Array
    Location: System Board Or Motherboard
    Use: System Memory
    Error Correction Type: None
    Maximum Capacity: 8 GB
    Error Information Handle: Not Provided
    Number Of Devices: 2
Handle 0x000D, DMI type 19, 15 bytes
Memory Array Mapped Address
    Starting Address: 0x00000000000
    Ending Address: 0x0012FFFFFFF
    Range Size: 4864 MB
    Physical Array Handle: 0x000C
    Partition Width: 1
Handle 0x000E, DMI type 17, 28 bytes
Memory Device
    Array Handle: 0x000C
    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: Other
    Type Detail: Synchronous
    Speed: 533 MHz
    Manufacturer: Corsair       
    Serial Number: 00000000
    Asset Tag: AssetTagNum0
    Part Number: CMV4GX3M1A1333C9  
    Rank: Unknown
Handle 0x000F, DMI type 20, 19 bytes
Memory Device Mapped Address
    Starting Address: 0x00000000000
    Ending Address: 0x000FFFFFFFF
    Range Size: 4 GB
    Physical Device Handle: 0x000E
    Memory Array Mapped Address Handle: 0x000D
    Partition Row Position: 1
Handle 0x0010, DMI type 17, 28 bytes
Memory Device
    Array Handle: 0x000C
    Error Information Handle: Not Provided
    Total Width: 64 bits
    Data Width: 64 bits
    Size: 4096 MB
    Form Factor: DIMM
    Set: None
    Locator: DIMM1
    Bank Locator: BANK1
    Type: Other
    Type Detail: Synchronous
    Speed: 533 MHz
    Manufacturer: Corsair       
    Serial Number: 00000000
    Asset Tag: AssetTagNum1
    Part Number: CMV4GX3M1A1333C9  
    Rank: Unknown
Handle 0x0011, DMI type 20, 19 bytes
Memory Device Mapped Address
    Starting Address: 0x00100000000
    Ending Address: 0x001FFFFFFFF
    Range Size: 4 GB
    Physical Device Handle: 0x0010
    Memory Array Mapped Address Handle: 0x000D
    Partition Row Position: 1

答案1

系统正确检测到了两个 4096MB RAM 块(总共 8GB),它们似乎运行良好。不过,我确信您的问题仍然与硬件有关。

我们看到检测到了 8GB 的​​ RAM,但只有不到 4GB 可用。但是没有足够的内存地址可以映射您的 RAM。所有无法映射到地址的剩余内存都无法使用。

您的机器显然只能映射 4GB,因为任何负责的组件都限制在 32 位地址。实际可用的 RAM 量要小一些,因为例如您的显卡的视频内存也需要映射到相同的地址范围。

您运行的是 64 位 Ubuntu,因此操作系统和 CPU 都不是问题。我确信这里困扰我们的组件是您的芯片组(也称为北桥),它仅支持 32 位地址宽度,因此将地址范围限制为仅 4 GB。

您可以使用以下命令验证芯片组的地址宽度:

sudo lshw | grep -m1 width

结果width: 32 bits证明我是对的,并且解释了您的问题。

不幸的是,没有软件解决方案,您唯一能做的就是更换芯片组,这意味着需要获得一块全新的主板。

答案2

如果您的主板较旧,则可能不支持最大 4GB(2x2GB)以上的内存,插入 8GB(2x4GB)可能会得到您看到的结果。请访问制造商的网站并查找主板的规格,看看内存大小是否有限制。

我假设您只有 2 个物理内存插槽。如果不是这样,那么您可能只是将内存插入了错误的插槽,无法正确交错内存。如果您有 4 个物理内存插槽,并且它们的颜色编码为黑色和白色,请将内存插入类似颜色的物理内存插槽。

另外,如果您确实需要 8GB 来工作,则需要将交换文件大小增加到物理内存的 1-1.5 倍。

您还可以尝试启动 Ubuntu Live CD,看看是否存在相同的问题。这将消除一些奇怪的软件问题。

相关内容