2011-12-18 6 views
3

32ビット実行可能ファイルにLARGEADDRESSAWAREスイッチが指定されていない場合は、2GBのメモリを使用できます。スイッチLARGEADDRESSAWAREは、実行可能ファイルのPEフラグの中に存在する場合、この制限はすることができます(私は間違っているなら、私を修正):1つのプロセスでアドレス空間を使用できるメモリの最大量を確認する方法

  • 2ギガバイト32ビットのWindowsは、/ 3GBで開始されなかった場合
  • 3ギガバイトを切り替えます/ 3GBスイッチで32ビットWindowsを起動した場合、プロセスがWindows 64ビットOSで32ビットプロセスで実行されている場合、
  • は最大4GBまでです。

私の質問は次のとおりです。このメモリの制限を(LARGEADDRESSAWAREフラグの有無にかかわらず)どのように判断できますか? sidenoteとして:上記の可能性の列挙は正しいですか?

注:私は、プロセスが使用しているメモリの量にも、外部効果による制限でもなく、理想的な場合に割り当てることができるメモリの最大量には関心がありません。

答えて

3

私はGetSystemInfoに電話し、lpMinimumApplicationAddresslpMaximumApplicationAddressから必要なものを解決することをお勧めします。使用可能なアドレス可能なメモリ空間の合計を取得するには、後者から前者を単純に差し引くことができます。

さまざまな可能性の3つの箇条書きが正しいです。

関連する問題