4

32ビットWindowsで実行されている32ビットプロセスのデフォルトのページサイズは4Kですが、64ビットWindowsで実行されている64ビットプロセスのデフォルトのページサイズは8Kです。ただし、64ビットWindows(つまり、WOW64)で実行されている32ビットプロセスの実際のページサイズはどれくらいですか?4K?8K?

4

3 に答える 3

7

理想的には、を呼び出しGetSystemInfo()て調べる必要がありますSYSTEM_INFO.dwPageSize

ところで、64ビットWindowsに8KBのページがあるとは思えません。x86 / 64 CPUは、4KB(すべてのモード)、4MB(32ビット非PAE)、2MB(32/64ビットPAE)、1GB(64ビット、常にPAE)のサイズのページをサポートします。これは、Intel(またはAMD)のCPUマニュアルに記載されています。

于 2013-02-11T10:14:44.630 に答える
5

ページ サイズは 4K - 4GB の最大アドレス可能な RAM メモリで 1M ページのままです。

仮想メモリ サイズ。Intel Itanium プロセッサでは、同じ 32 ビット アプリケーションの 2 つ以上のインスタンスが同時に実行されている場合、WOW64 によってかなりのオーバーヘッドが追加されます。これは、Intel Itanium のネイティブ 8 KB ページが原因であり、x86 アーキテクチャでのネイティブ 4 KB ページのエミュレーションが複雑になります (より多くのページが書き込み可能としてマークされます。書き込み可能なページはすべてプロセス専用です)。これは、特定のプロセッサでのターミナル サービスのスケーラビリティに悪影響を与える可能性があります。これは、x64 プロセッサには当てはまりません。

WOW64の詳細はこちら

于 2013-02-11T09:46:04.243 に答える
2

この質問に対する正解は、「どのプロセッサに依存するか」です。

Itaniumは8KBページを使用します。

X86-32およびx86-64は、必要に応じて4KB、2MB、および1GBページを使用します[2MBおよび1GBページが機能するには、メモリのサイズが2MB / 1GBの倍数であり、それぞれ2MB/1GBに調整されている必要があります]。

ARM(現在は32ビットOSのみ)などの他のプロセッサは、通常4KBページを使用しますが、64KBページを使用することもできます。

古いDECAlphaプロセッサとそれに一致するオペレーティングシステムが見つかった場合、それも8KBページを使用します。

于 2013-02-11T16:50:57.353 に答える