32bit/64bitパソコンでメモリが3GBしか認識しない問題
パソコンに4GB以上のメモリを搭載しているのに、3GB程度と認識してしまう問題について、解決法などを紹介します。
この問題は32bitのOSを搭載したパソコンで起こる事としてよく取り上げられていて、すでに知っている方も少なくないでしょう。
しかし、64bitのOSがインストールされたパソコンでも、BIOSの設定などで、同じような症状が発生することがあります。
今回、32bitと、64bitそれぞれについて、メモリが3GB程度しか認識しない問題を解説していきます。
32bit OSの場合
そもそも、32bit OSは、理論上4GBのメモリまでしか対応できません。
これは、32bitで扱えるメモリのアドレス空間が、2の32乗(32bit)=4GB(4,294,967,296Byte)である為です。
(※理論上は4GBですが、アドレス空間を拡張する技術があり、一部の32bitサーバー用OSでは64GBまでのメモリに対応しています)
しかし、この説明だけでは、4GBまで対応しているにもかかわらず、3GB程度しか認識しないのか答えになっていません。
それには、もう一つ、MMIOと呼ばれる、IOメモリを物理メモリを同じように取り扱う技術が関わってきます。
MMIO技術は、ビデオカードなどの周辺機器との情報伝達に使うIOメモリと、物理メモリを同じアドレス空間で処理し、なお且つIOメモリを優先してアドレス空間に予約するため、物理メモリの一部にアクセスできなくなるのです。
これが、4GB以上のメモリを搭載していても、3GB~3.5GBにしか認識しない俗にいう32bit OSによる3GBの壁と呼ばれる正体なわけです。
この問題を解決するには、CPUのアドレス空間を物理メモリ用と、IOメモリ用の専用回路に分ける必要があります。
当然ソフトウェアでどうにかなる問題ではありません。
ですから、この問題を解決する一番簡単な方法は、64bit対応のOSを導入し、アドレス空間を広げるほかありません。
64bit OSの場合
64bit対応のWindowsをインストールしていても、メモリが3GBまでしか認識しないことがあります。
この一番の原因は、ハードウェア(特にマザーボード)に原因があります。
古いマザーボードは元々64bitを想定していないものが多く、メモリが3GBまでしかサポートしていなかったり、後からBIOSのアップデートによって対応しているモデルもあります。
また、この様な古いタイプのマザーボードの64bit環境で4GB以上のメモリを使用するには、メモリのリマップが必要です。
メモリのリマップ方法はBIOS上で、〔Memory Remap Feature〕または〔Memory Remapping〕、〔Memory Reclaiming〕といった項目を〔Enabled〕(有効)に設定変更する必要があります。
私の使っている少し古いパソコンがまさにこの症状と同じ状態になったので、正しくメモリを認識させる方法を紹介しておきます。
マザーボード:P5B Deluxe
メモリ:ノーブランドDDR2-SDRAM (4GB)
OS:Windows Vista 64bit
まず、キーボードの〔CTRL〕+〔SHIFT〕+〔ESC〕でタスクマネージャを開きメモリの状態をチェックします。
御覧の通り、物理メモリの容量が3070MB(約3GB)となっています。
念の為、BIOSのアップデートも行っておきました。
マザーボード(P5B Deluxe)のメーカーサイトに行き、最新のBIOSとWindows上からアップデート出来るアプリケーションを手に入れました。
アップデート用のアプリケーションを起動し、落としてきた最新のBIOSをインストールします。
アップデートが終わったら、パソコンを再起動してBIOSの設定を変更しメモリのリマップを行います。
設定変更方法は、前述のように、〔Memory Remap Feature〕または〔Memory Remapping〕、〔Memory Reclaiming〕といった項目を〔Enabled〕(有効)にします。
以下、(P5B Deluxe)の場合を例に記載します。マザーボードの種類によって表記方法などが若干異なりますので、分からない場合はマザーボードのマニュアル(オンラインで大抵手に入ります)を参考の上設定を変えてください。
〔Advanced〕カテゴリーの〔Uncore Configuration〕を選択
〔Uncore Configuration〕が開くので、〔Memory Remap Feature〕という項目を〔Disabled〕から〔Enabled〕に変更します。
設定を変更したら、キーボードの〔F10〕キーを押して変更を保存し、パソコンを再起動させましょう。
設定変更後に、もう一度タスクマネージャを開き、メモリ容量を見てみましょう。
設定がうまくいけば、この様に4090(約4GB)と認識されるようになるはずです。
ただし、メーカー製のパソコンなど、一部のマザーボードでは、メモリのリマップに関する項目を設定変更しても、うまく機能しないことがあります。
コメントフィード