x64のOS上でのWebガーデンと32ビットアプリケーションのためのIIS6使用可能なメモリ(32GBのRAM)

StackOverflow https://stackoverflow.com/questions/366349

質問

私たちは、IIS6が32GBの物理RAMを搭載した64ビットのWindows 2003サーバー上で実行されています。 当社の.NET 3.5 ASP.NETアプリケーション内の一部の古い32ビットの依存関係のために、我々は現在、私は理解して、32ビットWOW64モードでは、当社のIISワーカープロセスを実行することを余儀なくされている私たちのワーカープロセスのために私たちに4GBのメモリへのアクセスを提供します。

我々が設定し、設定したWebガーデンを使用する場合は、

私の質問は、このように私たちにメモリの約16ギガへのアクセスを与えて、各メモリの各ワーカー・プロセスへのアクセスの4Gbをすることができ、4つのワーカープロセスを言っています。それともアウトASP.NETアプリケーションのための4Gbの限度で立ち往生している?

役に立ちましたか?

解決

はい、4GBの制限は、プロセスごとです。 64ビット・カーネルで実行されている各32ビットプロセスは(方法によって、32ビットシステムのようにカーネルと共有されていない)4ギガバイトプライベートアドレス空間の制限を有しています。あなたは、メモリの4x4GB = 16ギガバイトにアクセスすることができ、しかし、この16ギガバイトは、一度に1つのプロセスでは使用できません。それぞれが唯一の直接独自の4ギガバイトのプライベートメモリにアクセスすることができます。あなたは、他のプロセスからメモリをアクセスするために、いくつかのプロセス間通信媒体を使用する必要があります。

他のヒント

への答え「メモリの各ワーカー・プロセスへのアクセスの4Gbは、それぞれ、」上記の答えました - あなたは、/ 3GBスイッチを使用しない限り、デフォルトでは、あなたがまたは依存を使用することがあってもなくてもよい、ユーザモードで2GBのRAMを持っていますあなたのアプリケーション/サーバーのセットアップの要件に。あなたは、カーネルモードのリソースを飢え巻き上げることができます。

あなたの質問のパート2「は、従って私たちにメモリの約16ギガへのアクセスを与える」あなたは「アクセス」によって何を意味するかに依存します。 Webガーデンを使用すると、労働者の数は、アプリケーションプールのセットアップを処理達したまで着信要求のための別のw3wp.exeをスピンアップすることによって動作します。各Webガーデンインスタンスは独自のプロセスであるので、それは別のアプリケーションプールであり、結果として、彼らは同じアドレス空間を共有していないかのように、それはです。アプリケーションがより多くのメモリを消費している間、そう、それはあなたが同じアプリケーションの複数のインスタンスを実行しているという理由だけで、それぞれが32ビットの制限に拘束します。 http://bytes.com/groups/asp/54826-asp-セッション・ウェブ・庭園する http://msdn.microsoft.com/en-us/library/ms791558。 ASPXする

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top