G.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. 在选项列表中,找到 kernel 行:即,以关键字 linux 开头的行。在该行末尾附加以下选项:

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

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

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