B.6. RAM 不能被识别
在某些情况下,内核无法识别所有内存(RAM),这会导致系统使用的内存少于所安装的内存。如果您的系统报告的内存总量与您的预期不匹配,则很可能至少有一个内存模块有故障。在基于 BIOS 的系统上,您可以使用 Memtest86+
工具来测试系统的内存。
有些硬件配置保留了系统 RAM 的一部分,因此系统无法使用。有些带有集成图形卡的笔记本电脑为 GPU 保留了一部分内存。例如,带有 4 GiB RAM 的笔记本电脑和集成的 Intel 图形卡显示大约有 3.7 GiB 可用内存。另外,kdump
崩溃转储机制(其在大多数 Red Hat Enterprise Linux 系统上被默认启用)在主内核失败时为使用的辅助内核保留一些内存。这个保留的内存不会显示为可用。
使用此流程手动设置内存量。
流程
检查您的系统当前报告的内存量(以 MiB 为单位):
$ free -m
重新启动系统,并等待引导装载程序菜单显示。
如果您的引导超时时间被设置为
0
,请按 Esc 键访问菜单。- 在启动加载程序菜单中,使用光标键来突出显示您要引导的条目,然后在基于 BIOS 的系统上按 Tab 键,或者在基于 UEFI 的系统上按 e 键来编辑所选条目选项。
在选项列表中,找到 kernel 行:即,以关键字
linux
开头的行。在该行末尾附加以下选项:mem=xxM
-
将
xx
替换为您有的 RAM 量(以 MiB 为单位)。 - 按 F10 或 Ctrl+X ,以使用编辑的选项引导您的系统。
- 等待系统启动、登录,并打开命令行。
检查您的系统报告的内存量(以 MiB 为单位):
$ free -m
如果命令显示的总 RAM 总量与您的预期匹配,请使更改保持永久:
# grubby --update-kernel=ALL --args="mem=xxM"