memory test
memory test コマンドは、メインメモリーをテストします。このコマンドは、コマンドオプションによって定義したように、テストアルゴリズムを使用して、time オプションによって定義された期間について 1 つ以上のプロセッサでさまざまなメイン DRAM をテストします。
コマンド構文
udiag memory test { ALGORITHM } [ RANGE ] [ TIME ] [ MP ]
オプション
|
|
ALGORITHM = addr0 | pat0 | pat1 | walk1 | walk0 | rand0 | rand1 | block0 | refresh0
|
|
addr0
|
それぞれのアドレスの場所の一意性をテストします。
|
pat0
|
メモリーにすべて 0 を格納して検証します (stuck-at-1 の場合)。
|
pat1
|
メモリーにすべて 1 を格納して検証します (stuck-at-0 の場合)。
|
walk1
|
0x01 を左に 8 回シフトしてメモリーに格納して、データを検証します。
|
walk0
|
0xFE を左に 8 回シフトしてメモリーに格納して、データを検証します。
|
rand0
|
ランダムデータをメモリーに格納して、データの検証、反転、および再検証を行います。
|
rand1
|
ランダムデータをランダムな場所に書き込み、データの検証、反転、および再検証を行います。
|
block0
|
メモリー範囲を、ランダムデータとともに 2 つのブロックに分割します。データは、ブロック間でスワップされます (上下逆または下上逆にコピーされます)。データは再度スワップされ、メモリーの内容が検証されます。
|
refresh0
|
メモリーにすべて 0 を格納して、5 分間待機して検証します。次に、メモリーにすべて 1 を格納して、5 分間待機してデータを検証します。
|
RANGE = -s <start_address> [-e <end_address_plus_one>]
|
|
-s
|
テストするメモリーブロックの開始アドレスを指定します。アドレスは 16 進数形式で入力し、4K バイト境界で整列されている必要があります。
|
-e
|
テストするメモリーブロックの終了アドレスに 1 バイトを加えた値を指定します。フラグが指定されていない場合、テストは、UEFI メモリー割り当てサービスによって選択された隣接するブロックの終わりを使用します。RANGE が指定されていない場合、テストは、使用可能な最大のメモリーブロックを使用します。<start_address> は <end_address> より小さいものである必要があります。
|
TIME = -time <test_time_in_seconds>
|
|
-time
|
最大テスト時間 (秒単位) を 16 進数で指定します。デフォルトは 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