PR

ブルースクリーンの原因はメモリだった

「結局それかよ」的なオチ…。

これまでにやったこと

四月くらいからWindows 10でブルースクリーンが頻発。一日に数回とか。ひどいときには、リブートして5分もしないでクラッシュしたり。

色々と原因は考えられるけれど、かつての経験から、意外にも電源ユニット交換で直ったことがあったので、今回もそれを実施。

これで今回も収まったかに思えた。が、しかし、しばらく経ったらまた同じようにクラッシュの連続。

ブルースクリーンの画像をTwitterに投稿するとたさくんの方がアドバイスしてくれる。皆さん、結構やられてるんだなぁ、と^^;

頂いたアドバイスを参考に、できる範囲で試してみた。

  • ビデオカードの交換
  • システム修復(管理者権限のコマンドプロンプトで以下を実行)
    • DISM.exe /Online /Cleanup-image /Restorehealth
    • sfc /scannow
  • イベントビューワのWindwosログApplicationでエラーを起こしているソフトを特定(エラー対処、不要アプリなら削除)

しかし、残念ながら、解決には至らず。他には、SSD/HDDの交換も考えられるけれど、データの移行が面倒なので見送り。

メモリテストをやってみる

メモリのトラブルというアドバイスもたくさん頂いた。私自身はこれまでにメモリエラーを経験したことがなかったので、対処の優先順位を下げていた。

しかし、他に手もなくなったのでメモリテストを実行してみる。

MemTest86

使用するツールは超有名なMemTest86

久しぶりに使おうとしたら、USBメモリからの起動が標準になっていた。今どき、光学ドライブが付いているPCの方が珍しいか( FDDは言うまでもなく)。

ま、ともかくUSBメモリに書き込んで、実行。

今までエラーにお目にかかったことがないので、あまり期待せずに…。

エラー発生!

で、結果。なんと、エラーが起きていた。

引っかかるとは思っていなかっただけにビックリ。でも、クラッシュの原因がはっきりしたような気がする。

DRAMタイミングを調整

エラーの状況から見るに、極まれにデータが化けてしまう感じ。タイミング的に余裕がないんだろう。メモリセルが物理的に壊れたのなら、毎回同じエラーが出るだろうから。

ならば、タイミングを緩めてやればよかろう。

PCをリブートし、BIOS画面を立ち上げる。

DRAM Timing Control」を開く。

各タイミングは「Auto」になっていた。どうやって変更するのかしばらく悩んだ。ドロップダウンメニューになっているわけではなし。

何のことはない、直接数値を入力して、Enterすればよかった。

とりあえず、CL(CAS Latency)を1クロック延ばして10にしてみた。

これで再起動。

上手く行った!か?

CLを10クロックに変更したら、ウソのように安定した。日に何度もブルースクリーンになっていたのに、全然クラッシュしない。これでトラブルは解消か?

と思っていたが、甘かった。7日連続稼働直前でクラッシュ(6日と23時間は超えたところまでは確認した…)。

しかし、これほど明らかに挙動が違うということは、やはり、メモリのトラブルが原因だろう。なお、メモリモジュールの不良とまでは断定できない。マザーボード側かもしれないので。おそらく「相性」で片付けられてしまいそうな話。このシステムにして何年も経ってから起きているし、なんとも判断が難しい。まぁ、寿命といえば寿命。とは言え、すぐに換えるというわけにもいかず…。

そう言うわけで、CLをもう1クロック延ばして11クロックにしてみた。が、これは全然ダメで、BIOSすら立ち上がらなくなった。焦ったけれど、察してくれたのか設定を元に戻して起動してくれた。エライ!

CLだけいじったのではまずいみたいなので、他のタイミングも1クロックずつ延ばしてみた。これなら無事立ち上がってくれた。しかし、結局、5日連続稼働直前でクラッシュ。

周波数を下げる

DRAMのタイミングの微調整ではイマイチだったので、いっそのこと、DRAMの基準クロックを下げてみる。DRAMにクロックはいらないだろうから、DRAMコントローラのクロックなのかな?ま、細かいことはいいか。

メニューには沢山の選択肢があるけれど、右の説明を読むと1066と1333MHzだけしかサポートされていないっぽい。Autoだと1333MHzだったので、1066MHzを選択。

タイミングの方は、Autoに戻した。

10日連続稼働!

これで上手く行ったようで、10日以上の連続稼働ができた。

12日の連続稼働を行ったところで、Windows Updateも来ていたので再起動。

しかし、メモリエラー

再起動のついでに、念のためMemTest86を実行。

あれ?エラーが起きた…。今度も1回だけデータが1 bitコケてる。

実行時間は、前回は9時間強だったのが今回は10時間強なので、DRAMアクセスタイミングが遅くなっているのは間違いない。これでもエラーするのか。まいったなぁ…。

とは言え、クラッシュの頻度は明らかに下がっているので、これでしばらくはだましだまし使うとするか。

ちょっとだけタイミング調整

メモリテストの実行時間が長くなったことからもわかるように、やはり、メモリアクセスは遅くなっている。速いことよりも安定動作の方が重要だけれど、もうちょっと調整しておくことにする。

というのは、クロックを下げてもタイミングとして設定されているクロック数が変っていないことがわかったから。クロックが下がっているので、クロック数まで同じにすると必要以上に遅くなってしまう。

クロック周波数を下げた状態でチェックすると、DRAM周波数が535MHz、CL等が9/9/9/24クロック。

このPCに積んでいるメモリモジュールは、次の二種類。

533MHzなら、7/7/7/20クロックで良いはず。余裕を見るなら、8/8/8/22クロックくらい?

一応、計算。

666MHzなら、1クロックは1.50ns。したがって、9クロックは13.50ns。
533MHzだと、1クロックは1.88ns。13.50nsは7.18クロックに相当。

ちなみに、666MHzの10クロック分は15.0nsで、
これは、533MHzだと7.98クロックに相当。

最初にCLを10クロックにしても約7日でクラッシュしてしまったことを考えると、15nsでは厳しいのかも。そうすると、533MHzで9/9/9/24クロックにしておく方が無難?これでもメモリテストでエラーが起きたわけだし。

まぁ、ダメだったら元に戻すことにし、一旦、533MHz 8/8/8/22クロックで運用してみる。

あれ?8/8/8/23クロックになっている。ま、いいか。


コメント

  1. JN1XNI より:

    こんにちは! お久しぶりです。

    もしかして同じメーカーだけど違う規格のDUALメモリーを積んでいませんか?

    4枚のMEMは全て同じメーカーで同じ規格の物が理想です。

    それと、そのPCをまだ使い続けるなら、早めにMEM手配した方が良いですよ!

    現在MEMはDDR3からDDR4に移行されてきていますので、

    今後DDR3のMEMが入手しにくくなるかもしれません。

    すでに16GB×2のDDR3はほとんど無くなっています。あっても高価。

    8GB×2×2なら今のところ安価に入手できますので入手できるうちが良いかと。

    私もDDR4に移行してしまったので、先日DDR3を廃棄したばかりです。

    もう少し早ければ16GB×2があったのですが。。。

    • jh4vaj より:

      当初8GBx2、しばらくして8GBx2を追加しました。最初のがPC3-10700で、追加分がPC-12800です。メモリメーカは、意識したわけではないですけど、同じです(TEAM)。チップメーカまではわかりませんけど。

      違おうが同じだろうが、規格内で使っているんだから動かなきゃいけないはず。が、「理想と現実」ってやつでしょうね。

      今さらDDR3のメモリを新調しようとは思いません。替えるなら、マザーボード、CPU、メモリのセットでしょう。しかし、そうなるとそれなりに纏まった金額に…。クロックを落とした状態でそれなりに落ち着いて使えていますので、当面はだましだまし使おうと思います。