web-dev-qa-db-ja.com

WindowsはRAMをどの「順序」で管理しますか?

メモリの問題(BSOD、MemTestエラー)が発生していたため、この質問をしました。これは、不良のスティックをSLOT3からSLOT4に切り替えた後に停止したようです(マザーボードにラベルがあります)。

Windowsは、マザーボードがメモリをマップする方法に応じて、最初にSLOT1、次にSLOT2、SLOT3、SLOT4などを使用する傾向がありますか?たとえば、2GBのスティックが4つあり、ある瞬間にRAM)を2GBを超えて使用していない場合(デスクトップを凝視している、または音楽)、Windowsが最初のスティック(SLOT1)のみを使用している間、他の3つのスティックは非アクティブのままですか?

15
user3670722

そのようには機能しません。 OSはこれらの数についてさえ知りません。

マザーボード(BIOS)は、ストリップをOSに渡される1つ以上のメモリブロックに編成します。順序は必ずしもスロット番号の順序であるとは限りません。SLOT4がRAMのストリップを実際にアドレス0に保持し、最も高いアドレスがSLOT2のストリップの最後にあることは可能です。
また(マルチチャネルRAM)、スロットがペア(またはトリプレット)で使用され、それらのメモリがインターリーブされて使用される可能性があります。SLOT1からの奇数メモリ行とSLOT2からの偶数行。

そして、それをさらに複雑にするために。最新のOSはすべて仮想メモリを使用します。この仮想メモリ空​​間が物理メモリの上にどのように割り当てられるかは、ハードウェアの一部であるMMU(メモリ管理ユニット)(CPUおよび/またはNorthbridgeチップ)によって処理されます。について話す)。 MMUがメモリをシャッフルしてOSに提示する方法は、さまざまです。

問題をさらに複雑にするために、Windowsはその使用をRAMスペース全体に分散させます。 OSと割り込みには最も低い部分を使用しますが、ドライバーとその他のハードウェア関連のもの(ビデオバッファーなど)は通常、RAMスペースの最後に割り当てられ、途中にプログラムが配置されます。

TL:DR:RAMスロットがOSによって最終的に使用される方法を決定する一般的なルールはありません。マザーボード上の数字は、スロットに入力する必要がある順序をユーザーに知らせるためにあります。 OSにとっては何の意味もありません。

最新のOS(Windowsだけでなく)では、OSが物理的なRAMの一部を回避して、不良箇所を回避することはできません。 (物理的なハードディスクが不良ブロックをマッピングすることによって行うように。)不良RAMスティックを物理的に削除するか、不良スロットに良好なスティックを挿入しないようにする必要があります。
また、棒やスロットが悪いかどうかは外からは分からないので、どの棒またはスロットが悪いかを調べることは大きな問題になる可能性があります。
テストする唯一の方法は、正常なマザーボードでスティックを一度に1つずつ試すことです。

25
Tonny

おそらく、DIMMを取り外して再度挿入することで問題が解決し、場所の交換ではありません。

DIMMの接点はGHzの範囲の周波数を伝送しますが、ここでは本当に奇妙なことが起こります。コンタクトが金メッキされることが多いのはランダムではありません。 DIMMを「取り付け直す」と、接点が数分の1ミリメートル移動し、接点の品質が「不十分」から「十分」に簡単に変わる場合があります。

13
Eugen Rieck