用于操作内存的启动参数

可以模拟内存不足环境进行测试,而无需更改计算机上的物理内存量。 相反,可以使用 BCDedit /set 命令使用 truncatememoryremovememory 选项来限制操作系统可用的内存。

Windows 7 及更高版本中提供了 truncatememoryremovememory 选项。

  • truncatememory 选项忽略指定物理地址或以上的所有内存。

  • removememory 选项将 Windows 可用内存减少指定数量(以 MB 为单位)。 这两个选项都会减少内存,但 removememory 选项更擅长限制操作系统使用指定的内存,同时考虑内存缺口。 因此,建议使用 removememory

在 Windows 中模拟内存不足环境的启动参数

若要模拟内存不足的环境,请使用 BCDedit /set 命令和 removememory 选项修改启动项。 将 removememory 的值设置为系统上的物理内存量减去此测试所需的内存大小。

例如,若要将具有 2 GB 物理内存的计算机的内存限制为最多 512 MB 可用内存,请将 removememory 参数的值设置为 1536 (2 GB (2048 MB) - 512 MB = 1536 MB)。

以下示例演示一个 BCDEdit 命令,该命令用于从指定启动项的系统可用总内存中删除 1536 MB。

在本例中,bcdedit /enum 用于确定 BCD 数据存储 GUID 为 {18b123cd-2bf6-11db-bfae-00e018e2b8db}。 有关指定特定启动项或使用默认启动项的信息,请参阅编辑启动选项

bcdedit /set {18b123cd-2bf6-11db-bfae-00e018e2b8db} removememory 1536

还可以将 truncatememory 选项与 bcdedit /set 命令结合使用来实现相同的结果。 使用此选项时,Windows 会忽略指定物理地址或以上的所有内存。 指定地址(以字节为单位)。 例如,以下命令将指定启动项的物理地址限制设置为 1 GB。 可以以十进制 (1073741824) 或十六进制 (0x40000000) 指定地址。

bcdedit /set {18b123cd-2bf6-11db-bfae-00e018e2b8db} truncatememory 0x40000000

重新启动后,使用 systeminfo 等实用工具确认可用内存量。

完成测试后,可以使用 BCDEdit /deletevalue 命令删除 removememorytruncatememory 启动项选项。