Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

9.3.6. 您的 RAM 没有被识别?

在某些情况下,内核无法识别您的所有内存(RAM),这会导致系统使用的内存少于所安装的内存。您可以使用 free -m 命令找出正在使用的 RAM 量。如果显示的总内存与您的预期不匹配,则很可能至少有一个内存模块有故障。在基于 BIOS 的系统中,您可以使用 Memtest86+ 工具测试系统内存 - 详情请查看 第 23.2.1 节 “加载内存(RAM)测试模式”
注意
有些硬件配置在系统保留的 RAM 中有一个部分,且对主系统不可用。值得注意的是,带有集成图形卡的便携式计算机将为 GPU 保留一些内存。例如,具有 4 GiB RAM 和集成的 Intel 图形卡的笔记本电脑将仅显示大约 3.7 GiB 的可用内存。
另外,kdump 崩溃内核转储机制(在大多数 Red Hat Enterprise Linuxnbsp 上默认启用)机制 ;Linux 系统为主内核崩溃时保留一些内存。使用可用命令时,预留内存也将不显示为可用 有关 kdump 及其内存要求的详情,请查看 Red Hat Enterprise Linux 7 内核崩溃转储指南
如果您确定内存没有任何问题,您可以尝试使用 mem= 内核选项手动设置内存量。

过程 9.7. 手动配置内存

  1. 启动计算机并等待启动加载器菜单显示。如果您将引导装载程序超时时间设置为 0,请按 Esc 键 来访问它。
  2. 当显示启动加载器菜单时,使用光标键突出显示要引导的条目,然后按 e 键编辑此条目的选项。
  3. 在选项列表中,找到内核行 - 即以关键字 linux(或者在某些情况下是 linux 16)开头的行。在该行末尾附加以下选项:
    mem=xxM
    替换为您在 MiB 中有的 RAM 量。
  4. F10Ctrl+X 使用编辑的选项引导您的系统。
  5. 等待系统启动并登录。然后,打开命令行,然后再次执行 free -m 命令。如果命令显示的 RAM 总量与您的预期匹配,请将以下内容附加到 /etc/default/grub 文件中的 GRUB_CMDLINE_LINUX 开头的行,以使更改永久:
    mem=xxM
    替换为您在 MiB 中有的 RAM 量。
  6. 更新了该文件并将其保存后,刷新引导装载程序配置,以使更改生效。以 root 权限运行以下命令:
    # grub2-mkconfig --output=/boot/grub2/grub.cfg
/etc/default/grub 中,上面的例子类似如下:
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release.*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="rd.lvm.lv=rhel/root vconsole.font=latarcyrheb-sun16 rd.lvm.lv=rhel/swap $([ -x /usr/sbin/rhcrashkernel.param ] && /usr/sbin/rhcrashkernel-param || :) vconsole.keymap=us rhgb quiet mem=1024M"
GRUB_DISABLE_RECOVERY="true"