
Exchange Information Store (store.exe) がメモリを大量に消費することはわかっています。他のアプリケーションがメモリを必要とするときに、必ずしもメモリを適切に解放するわけではないため、マシンの動作が遅くなります。
これは、Exchange 2010 を搭載した SBS 2011 Standard SP1 です。ネットワークには約 30 台のコンピューターがあり、そのほとんどは Outlook を使用して Exchange に接続しています。また、SharePoint も使用しています。SQL Server インスタンスは 3 つあり、SQL Server も大量の RAM を消費することはわかっていますが、すでに 2 GB に制限されており、その制限に達することもありません。3 つの SQL Server インスタンスをすべて合わせると、約 2.5 GB が使用されます。
しかし、非常に奇妙なのは、SharePoint サイトが非常に遅くなり、確認してみると、使用可能なメモリがほんのわずか (1 GB 未満など) しかないことです。これは 12 GB の RAM の場合でした。そこで、RAM を 32 GB にアップグレードしましたが、現在は Exchange が約 20 GB を使用しています。しばらく実行するとすべてが遅くなるという問題はまだ残っています。
私が理解しているのは、Exchange が使用するメモリに上限を設定するオプションがないということです。しかし、マシンで使用できる RAM は 32 GB なので、実際に 20 GB は必要ないはずです。それでも、使用可能なメモリは 1 GB 未満です。Exchange が基本的にメモリを占有するのを防ぐ別の方法はありますか?
PS - これは Server 2012 経由の HyperV 上の仮想マシンです。
答え1
Windows 2012 で Hyper-V を実行している場合、なぜ SBS を実行しているのですか?
とにかく、SBS 2011 SP1 上の Exchange のメモリを制限するには、adsiedit に移動する必要があります。
- adsieditを開く
- ADSIEditを右クリックして、構成命名コンテキストに接続します。
- 構成コンテキストに接続する
- 構成/サービス/Microsoft Exchange//管理グループ/Exchange管理グループ/サーバー//InformationStoreに移動します。
- informationStoreオブジェクトを右クリックしてプロパティを選択します
- 情報ストアで使用される最小/最大メモリ サイズを設定するには、属性を変更します: msExchESEParamCacheSizeMax および msExchESEParamCacheSizeMin
- サイズはページ数で設定されます。Exchange 2010 では 32KB のページが使用されるため、必要なサイズを取得し、それを KB に変換して 32 で割ってここで数値を設定します。たとえば、Exchange を 16GB に制限する場合は、500000 (16,000,000KB を 32KB で割った値) を入力します。
- SP1では、必要最小値と最大値の両方を設定する
- 変更を有効にするには、インフォメーション ストア サービスを再起動するか (またはコンピューターを再起動します)。