メモリ障害は様々な要因で発生する。原因が特定できてないときまずは物理メモリに欠陥、故障がないか調べておきたい。
本記事では Linux 上で使えるメモリチェックツールをご紹介。
memtester で簡易検査
まずは memtester をご紹介。MemTest86 のようにすべてのノードを調査することはできないが、簡易検査したいときには便利なツールだ。
さらに物理アドレスを指定してチェックできる。OS起動時に物理RAMエラーが出たときにそのアドレスを打ち込めばピンポイントに検査できる。
$ memtester テストしたい容量 回数
容量は数字の末尾に G/M をつけることで ギガバイト、メガバイトを簡易表記できる。
例. 1ギガバイトのテスト容量を確保し2回テストする。
$ sudo memtester 1G 1
テストする容量が大きいとユーザアカウントでは mlock できなくなるのでルート権限で実行しなければならない。
MemTest86+
DRAM メモリをテストするツールとしては MemTest86 というツールが広く使われている。
MemTest86 は20年以上開発が継続されているソフトウェアで様々なアルゴリズムで RAM をテストできる。ネットワークブートや OS なしといった環境でも起動できるため他のプログラムによる検査妨害も防げる。
MemTest86 は他のOS上で使えるツールではないが、物理メモリを頭から尻尾までエラーチェックし続ける強力なツールだ。メモリを購入時など、すぐに半導体に初期不良がないか確認するのに使いたい。
通常は USB メモリなどの起動ドライブにインストールして使用するが、 Linux の場合起動ディスクなしでも使うことができる。
また、最近は Ubuntu などの Linux ディストリビューションのライブCDに組み込まれていることが多く、さくっと診断できる。おそらくこれが一番簡単な方法だ。
Ubuntu インストールメディアでメモリチェック
Ubuntu インストールメディアが起動中の画面でスペースキーを押してインストールオプションを出現させる。
「メモリテスト」を選択。すぐさまメモリテストが行われる。
環境にもよるが、1パス 30分〜1時間かかることもあるのでPCを使わないときに検査しよう。
その手の猛者は、PC部屋を高温にしたり、電源供給の不安定な状態にしたり様々な負荷をかけつつ10パス回したりするらしい。だが、初期不良や故障を見つけるには2Passくらいで十分だ。それ以上やるのは個人的には時間と電気の無駄だと感じる。
なお、 MemTest86+ は放っておくと延々と検査をループし続けるため、手動で停止しなければならない。満足したらEscを押して終了させよう。
おわり
コメント