F.6. RAM 不能被识别

在某些情况下,内核无法识别所有内存(RAM),这会导致系统使用的内存少于所安装的内存。如果您系统报告的内存总量与您的预期不匹配,则很可能至少有一个内存模块有故障。在基于 BIOS 的系统上,您可以使用 Memtest86+ 工具来测试系统的内存。

有些硬件配置保留了系统 RAM 的一部分,因此系统无法使用。有些带有集成图形卡的笔记本电脑为 GPU 保留了一部分内存。例如,带有 4 GiB RAM 的笔记本电脑和集成的 Intel 图形卡显示大约有 3.7 GiB 可用内存。另外,kdump 崩溃内核转储机制在大多数 Red Hat Enterprise Linux 系统上默认启用,为在主内核失败时使用的辅助内核保留一些内存。这个保留的内存没有显示为可用。

使用这个流程手动设置内存量。

流程

  1. 检查系统当前报告的内存量(以 MiB 为单位):

    $ free -m
  2. 重启您的系统并等待引导装载程序菜单显示。

    如果您的引导超时时间设置为 0, 请按 Esc 键访问菜单。

  3. 在启动加载程序菜单中,使用光标键来突出显示您要引导的条目,然后在基于 BIOS 的系统上按 Tab 键,或者在基于 UEFI 的系统上按 e 键来编辑所选条目选项。
  4. 在选项列表中,找到内核行:即,以关键字 linux 开头的行。在该行末尾附加以下选项:

    mem=xxM
  5. xx 替换为以 MiB 为单位的 RAM 量。
  6. F10Ctrl+X 以使用编辑的选项引导您的系统。
  7. 等待系统启动、登录并打开命令行。
  8. 检查系统以 MiB 为单位报告的内存量:

    $ free -m
  9. 如果命令显示的 RAM 总量现在与您的预期匹配,请使更改持久:

    # grubby --update-kernel=ALL --args="mem=xxM"