新しいTERRAZINE

The new TERRAZINE

マルチコア時代にメモリー診断ツールは無力かも(注:PC中級者以上向け)

ウィルス対策ソフトの警告画面を見て、検索で来られた方へ

アンチウィルスソフト「avast!」で警告が表示されて、「診断 ツール」などで検索してこのページにたどり着いた方が居るようです。
目的の情報は以下のページにあります。

「フリーじゃない」「MS認定」なら信頼性が高い?

またGIGAZINEの「使ってみました」メソッドか。

特徴は、このソフトがもともとフリーではないと言うこと。「Micro2000」というマイクロソフト認定パートナー(マイクロソフトは高い技術力のあるIT関連企業を認定パートナーとしている)が販売しているソフトウェア「Micro-Scope」に採用しているのと同じ機能なのです。そのため、信頼性はかなり高いと判断していいはず。

「フリーじゃない」「MS認定」なら信頼性が高いんだってさ。だったらMS純正の『Windows メモリ診断』の方がより信頼できるわな。こっちは詳しい日本語の紹介ページもあるのに、なんで紹介しないのかね? ってそれがGIGAZINEだからなんだけどね。

マルチコア時代にメモリー診断ツールは無力?

当然メーカーも出荷時にはそれなりのテストをしているわけで、最近ではよほどの安物バルク品を使わない限りはハズレを引くことは少ない。ただし、自作PCなどで特殊な環境を構築している場合は、わずかなブレがエラーとなって現れることがある。こういったエラーは単純なメモリー診断ツールでは検出できない。
Memtest86+
この画面は、ワシが使っているアスロンデュアルCPU機を定番『Memtest86+』で完全テストしている様子だ。Memscopeなどと違って、徹底的にテストするので、猛烈に時間がかかる。でもこういうのは中途半端にやってもあまり意味がない。標準テストはOKでも完全テストでNGなんてこともよくある。どうせやるんだったら徹底的にやらないと。あ、ちなみに天下のIBMもおすすめだよ。
この時は30時間をかかるテストを2周実施して問題無しと判断したが、実際にWindowsを起動し高負荷をかけるとエラーが出たのである。
こういったFDからブートするタイプのメモリ診断は、ブート直後の最小環境でテストするため、単純にメモリーモジュールが壊れているような時には有効だが、「高負荷時にエラーが出る」などの限定された環境での症状では無力なのだ。
単純なメモリー診断は、1つのCPUしか使っていないし、メモリーアクセスもシーケンシャルにやるだけ。しかし実際の稼働環境ではマルチコア・CPUが普及してきているし、マルチスレッドによるランダム同時アクセスも当たり前に行われている。こういった環境の進化に対し、メモリー診断ツールはついて行っていないのが現状なのである。

Windows環境でテストできる『AleGr MEMTEST』

そういった実情にあったテストができるのが『AleGr MEMTEST』Windows上で動作するため、マルチスレッド時の高負荷状態をテストできる。また、ディスクIOテストもできるため、DMAやPCIバスの高負荷時のメモリー化けもテストできる。自作派なら「SuperPI」などを使って同じようなことをやっているだろう。こちらにReadmeの日本語訳があるので、英語が苦手なワシでも使える。ありがたや。

メモリ買ったら『Memtest86+』。トラブルが出たら『AleGr MEMTEST』

滅多にないとはいえ、メモリーを買ったらハズレだったり、相性がでたりすることはある。メモリーを買ったら、まずはメモリー診断ツールでテストするのは必須といっていいだろう。どうせやるなら徹底的にテストできる『Memtest86+』で。それで問題ないのに、実際の運用時にエラーが起きたりフリーズしてしまう時は『AleGr MEMTEST』でテストするのがいいだろう。

関連