より正確には、物理アドレスが 64GB より後ろの位置にあるメモリをテストできない、だと思われます。大抵のマザーでは 3GB-4GB あたり(あるいは 2GB-4GB あたり)の範囲のメモリは物理アドレス空間の最後にマップされるため、64GB のメモリを載せていると、64GB 以降の位置に回された 1GB から 2GB ほどはテスト対象外になります。

最近会社でメモリが 192GB のサーバを買ったので、とりあえず最初のテストとしていつも通り memtest86+ をかけるのですが、1周するのが妙に早いことに気付きました。前回買った 64GB のサーバとほとんど変わらないぐらい。よくよく見てみると、62GB-64GB の範囲のテストが終わったら、64GB-66GB の範囲のテストに入るのではなく、次のテストタイプの 0GB-2GB の範囲のテストに入っています。そりゃ早いはずだ。この挙動自体は結構前から知られているようです。たとえばここ

なんでこんなところに制限があるのかと思ったのですが、たとえばマイクロソフトのサイトにある Memory Limits for Windows Releases を見ると、32bit 版の Windows は Server であっても最大で 64GB が上限になっています。そういえば(普通の)PAE では物理アドレスが 36bit までなので、そこで制限がかかっているのだと思われます。(PAE40 という 40bit 使える拡張もあるけど使われていない?)

さてどうしたものやら。

(追記1)
などと社内 IRC でボヤいていたら、2TB までテストできる memtest86+ 5.00 がβテスト中という情報を教えてもらいました。現在テスト中です。マルチスレッドテストもできるらしい。

(追記2)
PC サーバを扱う老舗である「コンピュータのおっと」さんが 192GB メモリのサーバを memtest86+ 4.20 でテストしたぜ!っていう最近の記事が見つかっちゃってとても残念な感じです…

Trackback

no comment untill now

Add your comment now