今、テスト環境を構築しようとしている古い(と言っても、このブログを動かしているサーバーよりは新しい。)Abit AT8 Athlon 用マザーボードでまたハマっているところです。
64bit Linux を動かす予定ですが、テスト用途のためメモリ容量は2GBで十分なところ、よせばよいのに4GBに増設することにしました。
現状は、4スロット中、2スロットに1GB の DDR 400 CL3メモリが入っている 2GB。これでインストールテストなどには十分なのですが、2スロット空いているので、ここに同じスペックのDDR400の 1GB x 2 を入れようと考えてしまいました。既に古くなっているタイプなのでコストパフォーマンスが悪そうだと思いながらも Amazon で確認してみると、1GB x 2 = 2GB が 1,800円で売られています。これなら安い!ということで早速注文。
商品が到着して、Ubuntu Linux server として構築中のPCを一旦止め、空きメモリースロットにDIMMを差してみたところ、思うようには行かないものですねぇ。いろいろとトラブルが発生します。内容は、メモリに不具合がある場合の典型的な症状。
- Linux ブート中に再起動が発生。
- Linux ブート中に kernel panic が発生。
- Linux ブート中にフリーズ。(キーボードが反応せず、Num Lock が消灯のまま)
- OS は起動するものの、起動していないサービスがある。
- OS は起動するものの、モニターがスリープ状態のまま。
- OS は起動するものの、(負荷を掛けると)突然リブートする。
不思議なことに、BIOSレベルのメモリーテストや、Linux ブート時のメモリーテストではエラーが出ません。(これもよくある話。)
メモリを抜き差ししたり、スロット位置を変えたり、メモリスロットをエアーブローで掃除してみたりでいろいろやってみました。
- 既存メモリだけでは問題なし。
- 新規メモリだけでも問題なし。(つまりメモリ不良ではない)
- 新規メモリと既存メモリをグループでスロット位置を入れ替えても、リブートやフリーズする不具合症状は発生。(実際にはこれで12時間くらい正常動作していたのですが、1日程度PCを完全停止して、再起動すると症状が再発。PCが冷えたから?と思うものの、使用前に暖めないといけないという使い方は出来ないので結局この構成もNG。)
- BIOS で、メモリのCL値(autoだと4枚差しの時 2.5になる)を遅くして CL=3にすると、更に症状が悪化。BIOS時にもリーブートが発生。(BIOSはautoを使うのがよさそう。SPD も触らない方がよいみたい。)
- 新旧メモリを一つのメモリグループとして構成するように並びを変更しても、リブートが発生。
不思議なのは、2枚差しで2GBの時は、BIOS画面では、
Memory Information: DDR 400 CL:3 Dual Channel, 128bit
と、表示されています。
4スロットに差し込んで、4GBにすると、
Memory Information: DDR 200 CL:2.5 Dual Channel, 128bit
と表示されます。確かに、200MHz で位相が180°異なるクロックを使うのでしょうけど、なぜDDR200と表示しているのか不思議。インターリーブを効かせているのか CL は 3→2.5 に若干短く自動設定されている表示のようですけど、なんかよく分からない。Abit は倒産しているから、マザーボードの情報も私は持っていないためBIOSの詳しい使い方がわからず。1GB + 1GB の組み合わせで症状が発生するDIMMにスペックが悪いチップが含まれている物と推測しますけど、仮にそれが見つかるとしても、相当時間をロスしそうです。
残る手段としては、
- 同じ DDR400 メモリ 1GB x 2 をもう1セット購入する。(既存メモリはノーブランド品と推測。)
- 2GB で使う。
- 根気強く BIOS中のDDRメモリ設定をマニュアルモードで調整してみる。
が、ありそうですけど、出来ることならサクッと解決したい。
ちなみに今回購入したのは、「Komputerbay 2GB (2× 1GB) DDR DIMM (184 ピン) 400Mhz PC3200 CL3 デスクトップPCのメモリ (2× 1ギガバイト)」というもの。購入時点で1,800円でした。
とりあえず、動かすことが優先なので 2GBに戻しましたけど、頭が痛いな〜。
追記
http://www.manualslib.com/manual/601083/Abit-At8.html#manual でオンラインマニュアルを発見。BIOS の DDR400/DDR200 という表示に関しては、メモリスロット4つ全てにDIMMをインストールした場合は DDR200 になるとのこと。