2

32ビットプロセスとして実行する必要があるWebアプリが6つありますが、キャッシュするさまざまなもののためにかなりのメモリが必要です。さまざまな理由から、これを変更するのは簡単ではありません。1つのアプリケーションが2GBを超える必要はありませんが、合計メモリ使用量はこれを超えることになります。変更も簡単ではないさまざまな理由から、これらすべてを16GBのRAMを搭載した64ビットサーバーのペアで実行することを計画しています。これは、すべてのWebアプリケーションを組み合わせたメモリのニーズに十分なメモリです。

これが私の心配です。Windowsは、プロセスごとに仮想アドレススペース、Win32では2GBのユーザースペースと2GBのカーネルスペース、Win64では8TBのユーザースペースと8TBのカーネルスペースを割り当てることを理解しています(ほとんどの場合)。次に、OSは、このアドレス空間のどの部分が物理RAMにマップされるかを処理します。また、WoW64サブシステムが64ビットOSでの32ビットプロセスの実行を処理することも理解しています。WoW64がこれをどのように行うかを十分に理解していないので、さまざまな32ビットプロセスの仮想アドレス空間をマップして、使用可能なすべてのRAMを利用できるようになることを願っていますが、これができないのではないかと心配しています。また、プロセスは、32ビットプロセスエミュレーションのために何らかの方法で「イヤーマーク」が付けられた同じRAMセットを引き続き競合します。

実際の解決策は、ターゲット環境とプロファイルをテストして何が起こっているかを確認することですが、WoW64での物理RAMの管理方法に関するもう少しの情報は安心です。

4

1 に答える 1

2

「耳に印を付けた」32ビットプロセスRAMはありません。物理RAMはOSで使用可能であり、32ビットか64ビットかに関係なく、必要に応じてプロセスに割り当てられます。Wow64サブシステムは、仮想マシンでも、32ビットプロセスが実行するプロセスでもありません。Wow64サブシステムは、32ビットから64ビットへの変換およびその逆の変換を処理する一連のshimライブラリです。

于 2012-02-09T14:09:24.920 に答える