怎样判断内存是否坏了?

怎样判断内存是否坏了?

我最近遇到了一个问题,电脑(Thinkpad E430)在启动时挂起,我怀疑这是内存问题。Checkbox 测试内存失败,但 memtest86+ 通过了。卸下内存并重新安装后,我设法启动了电脑。但是,内存信息看起来很奇怪:

  1. 我有 4GB 内存,正在运行 ubuntu 16.04 64 位

    sudo lshw -class memory:
    *-memory
           description: System Memory
           physical id: a
           slot: System board or motherboard
           size: 4GiB
         *-bank:0
              description: SODIMM DDR3 Synchronous 1333 MHz (0.8 ns)
              product: HMT351S6CFR8C-PB
              vendor: Hynix/Hyundai
              physical id: 0
              serial: 0A545936
              slot: ChannelA-DIMM0
              **size: 4GiB**
              width: 64 bits
              clock: 1333MHz (0.8ns)
         *-bank:1
              description: DIMM [empty]
              physical id: 1
              slot: ChannelB-DIMM0
    
  2. 系统监视器显示可用空间只有 2.6GB,尽管我没有运行任何程序,但使用的容量已经超过 50%: 开机后无需运行任何程序即可监控系统图像

    grep Memory /var/log/kern.log:
    
    kernel: [    0.000000] Memory: 2562464K/**2730856K available** (8432K kernel code, 1291K rwdata, 3960K rodata, 1484K init, 1316K bss, 168392K reserved, 0K cma-reserved)
    

我如何才能确定 RAM 或其他地方是否存在问题?

答案1

我建议从 USB 记忆棒启动(例如 Ubuntu 18.04 LTS)。如果您仍能在某处找到 32 位版本,请确保使用 64 位版本。

列出内存的有趣事实lshw并不令人意外。我目前使用的系统有 4x8 GB 的 DDR3 内存,lshw列表基本上如下所示:

  *-memory:0 UNCLAIMED
       physical id: 1
     *-bank UNCLAIMED
          description: DIMM DDR3 Synchronous 1333 MHz (0.8 ns)
          product: 99U5471-036.A00LF
          vendor: Kingston
          physical id: 0
          serial: 6B2B875D
          slot: ChannelA-DIMM0
          size: 8GiB
          width: 64 bits
          clock: 1333MHz (0.8ns)
  *-memory:1
       description: System Memory
       physical id: 5e
       slot: System board or motherboard
     *-bank:0
          description: DIMM DDR3 Synchronous 1333 MHz (0.8 ns)
          product: KHX1600C10D3/8GX
          vendor: Kingston
          physical id: 0
          serial: B804123E
          slot: ChannelA-DIMM1
          size: 8GiB
          width: 64 bits
          clock: 1333MHz (0.8ns)
     *-bank:1
          description: DIMM DDR3 Synchronous 1333 MHz (0.8 ns)
          product: 99U5471-036.A00LF
          vendor: Kingston
          physical id: 1
          serial: 692B865D
          slot: ChannelB-DIMM0
          size: 8GiB
          width: 64 bits
          clock: 1333MHz (0.8ns)
     *-bank:2
          description: DIMM DDR3 Synchronous 1333 MHz (0.8 ns)
          product: KHX1600C10D3/8GX
          vendor: Kingston
          physical id: 2
          serial: B704D03D
          slot: ChannelB-DIMM1
          size: 8GiB
          width: 64 bits
          clock: 1333MHz (0.8ns)
  *-memory:2 UNCLAIMED
       physical id: 2
  *-memory:3 UNCLAIMED
       physical id: 3

请注意,似乎memory:0有一个UNCLAIMED银行有一根棍子,而另一个memory:1有三根棍子,memory:2并且memory:3都是空的。

这些slot:名字似乎还不错,所以我只会相信那些。

然而,通过sudo dmidecode输出来看,这似乎可能是由于 BIOS 错误,因为 DMI 似乎告诉了内存类似的配置。

最后,如果grep "MemTotal" /proc/meminfo与实际内存不匹配(减去为集成显卡保留的 GPU 内存),则 Linux 无法使用您的所有实际内存。如果是这种情况,我会尝试查找 BIOS 更新或尝试伪造 ACPI 的操作系统:https://wiki.archlinux.org/index.php/DSDT如果 BIOS 损坏,您还可以尝试noacpi内核标志,这将禁用例如电源管理作为副作用,但将有助于解决大多数 ACPI/BIOS 问题。

相关内容