1

質問は明確に聞こえると思いますが、さらに説明するために:

8 GB の RAM がインストールされたWindows 7 x64 PC があるとします。( 32bit プロセスの 64bit OS が私の意図です)

質問 1:この環境で64 ビットプロセスはどれくらいのメモリを使用できますか?

質問 2:この環境で32 ビットプロセスが使用できるメモリの量は?

質問 3:この環境で 32 ビット プロセスが 2 GB の RAM しか使用できない場合 (LARGE ADDRESS SPACE AWARE: 3 GB の場合でも)、ほとんどのゲームは 32 ビットです。つまり、8 GB の RAM がインストールされているにもかかわらず、 、たとえば、ゲームは常に2〜3GBのRAMしか使用できないということですか?

4

3 に答える 3

1

Windows のようなデマンド ページ保護モードのオペレーティング システムでは、使用可能な RAM の量は、プロセスが使用できる仮想メモリの量とはまったく関係ありません。制限要因は、ページング ファイルによってバックアップできる仮想メモリの量です。Windows のページング ファイルは、起動時とレジストリ設定で決定されるサイズで開始されます。そこから、プロセスがより多くのメモリを必要とする場合、Windows は必要に応じてページング ファイルのサイズを大きくすることができます。

この環境で 64 ビット プロセスが使用できるメモリの量は?

これは予測できませんが、少なくともページング ファイルで現在使用可能なスペースと同じくらいです。通常、約 13 ギガバイトを取得します。このスペースは飛躍的に拡大する可能性があり、プログラムの 2 回目の実行では、Windows が追いついてページング ファイルを増やしたため、より多くのメモリを消費する可能性があります。これは、Mark Russinovich によるこのブログ投稿で実際に確認できます。

この環境で 32 ビット プロセスが使用できるメモリの量は?

デフォルトでは 2 ギガバイトです。プログラムの EXE ヘッダーのラージ アドレス対応オプション ビットは、4 ギガバイトまで拡張できます。ほとんどの 32 ビット プログラムでは、このオプション ビットがオフになっています。

この環境で 32 ビット プロセスが 2GB の RAM しか使用できない場合...

3 ギガバイトではなく、2 ギガバイトまたは 4 ギガバイトです。もう一度強調すると、RAM とは何の関係もありません。8 ギガの RAM を搭載したマシンでも、LAA である 32 ビット プロセスが4 ギガの RAM を消費する可能性はほとんどありません。RAM は共有リソースであり、すべてのプロセスがその一部を必要とします。4 ギガを消費する 32 ビット プロセスでは、その一部がページ アウトされる可能性が非常に高くなります。

于 2012-12-30T09:25:48.537 に答える
1

質問 1: この環境で 64 ビット プロセスが使用できるメモリの量は?

すべてのメモリを使用できます。

質問 2: この環境で 32 ビット プロセスが使用できるメモリの量は?

x64 マシン上の x86 実行可能ファイルの場合、デフォルトで 2GB を消費します。IMAGE_FILE_LARGE_ADDRESS_AWARE が設定されている場合、4GBを使用できます。MSDN .

興味深いことに、IMAGE_FILE_LARGE_ADDRESS_AWARE が設定またはクリアされていない場合、x64 実行可能ファイルは x64 マシンで最大2GBしか使用できません。

質問 3: (よくわかりません) この環境で 32 ビット プロセスが 2GB の RAM しか使用できない場合 (LARGE ADDRESS SPACE AWARE: 3GB であっても)、一方で (私が知る限り) ほとんどののゲームは 32 ビットです。つまり、これは次のことを意味します: 8 GB の RAM がインストールされていますが、それ (たとえばゲーム) は常に 2 ~ 3 GB の RAM しか使用できませんか????

いいえ、4GBです

于 2012-12-30T08:53:29.410 に答える
0

Win32 アプリ、x64 OS:

  • 同時に:
    • 2GBまでのアドレス空間(断片化等により有効量が少なくなります)
    • プロセス バイナリが /LARGEADDRESSAWARE でマークされている場合、最大 4 GB のアドレス空間
  • 必ずしも同時にではなく、メモリ マップされたファイルを介して、対象のビューをマッピング/マッピング解除します
    • 利用可能なすべてのメモリ、特に 4 GB 以上
于 2012-12-30T09:24:57.543 に答える