Oracle® x86 服务器诊断、应用程序和实用程序指南

退出打印视图

更新时间: 2014 年 4 月
 
 

memory test

memory test 命令可测试主内存。该命令使用命令选项定义的测试算法对一个或多个处理器测试一系列主 DRAM,测试持续时间已在时间选项中进行定义。

命令语法

udiag memory test { ALGORITHM } [ RANGE ] [ TIME ] [ MP ]

选项

选项
说明
ALGORITHM = addr0 | pat0 | pat1 | walk1 | walk0 | rand0 | rand1 | block0 | refresh0
addr0
测试各地址位置的唯一性。
pat0
全部用 0 填充内存并验证(是否存在固定 1)。
pat1
全部用 1 填充内存并验证(是否存在固定 0)。
walk1
通过将 0x01 左移 8 次来填充内存并验证数据。
walk0
通过将 0xFE 左移 8 次来填充内存并验证数据。
rand0
使用随机数据填充内存,对数据进行验证、反转并再次验证。
rand1
在随机位置写入随机数据,对数据进行验证、反转并再次验证。
block0
将内存范围分为包含随机数据的两个块。数据可以在两个块之间进行交换(复制、反转、自上而下、自下而上)。再次交换数据并验证内存内容。
refresh0
全部用 0 填充内存,等待 5 分钟,然后验证。然后它将全部用 1 填充内存,等待 5 分钟并验证数据。
RANGE = -s <start_address> [-e <end_address_plus_one>]
-s
指定要测试的内存块的起始地址。该地址以十六进制格式输入,并且必须在 4KB 边界对齐。
-e
指定要测试的内存块的结束地址加 1 字节。如果未给定标志,测试将使用 UEFI 内存分配服务选择的连续块的末尾。如果未给定 RANGE,测试将使用最大的可用内存块。请注意,<start_address> 必须低于 <end_address>。
TIME = -time <test_time_in_seconds>
-time
以十六进制指定最长测试时间(秒)。默认值为 0,表示没有时间限制。

资源要求

ANY_PROC;MULTIPLE_INSTANCES

示例

要在指定地址范围内运行 addr0 测试,请键入:

fs0:/> udiag memory test addr0 -s 100000000 -e 110000000

要在指定地址范围内运行 walk1 测试,请键入:

fs0:/> udiag memory test walk1 -s 100000000 -e 110000000

要对所有处理器运行 rand0 测试,请键入:

fs0:/> udiag memory test rand0 -np all

要在指定时间段(秒)内对指定处理器运行 rand1 测试,请键入:

fs0:/> udiag memory test rand1 5f/5e/5d/1/2/3 -time 258