SharePointファームでは、すべてのWebフロントエンドサーバーに "スタンバイ"モードのメモリの負荷があります。つまり、IISワーカープロセスで使用できるメモリはほとんどありません。
各ボックスには32 GBのRAMがあり、スタンバイメモリは約28 GBまで増加しますが、IISワーカープロセスは約2 GBを使用しています。また、このメモリがスタンバイ中にマシンがスワップファイルを広範囲に使用することを確認したため、スタンバイモードのこのメモリが停止していると思い始めていますIIS fromそれを使用してディスクにスワップすることを強制し、より多くのパフォーマンスの問題を引き起こします。
私は SysInternals RamMap を使用してメモリに何が保持されているかを識別しましたが、スタンバイメモリ内のほとんどすべてが「マップファイル」タイプであることがわかりました。
RamMapの[ファイルの概要]タブに表示されているファイルをファイルサイズで並べ替えると、最大のファイル(それぞれ約数百メガ)がIISログファイルとSharePointログファイル)になります。
これらのファイルをスタンバイメモリに読み込んでいるプロセスと、解放されない理由を知りたいのですが。 iisreset
を実行しても、メモリが解放されません。
何か案は?
ありがとう!
スタンバイメモリは、メモリにキャッシュされ、それ以降変更されていない(読み取られた可能性がある)データであり、必要に応じて削除できます。オンデマンドですぐに解放できます。物理的なRAMが他に必要だった場合、スタンバイメモリが削除され、オフ時にメモリに保持され、再び必要になるため、フェッチが速くなります。ディスクよりもメモリから。
マップされたすべてのファイルはページファイルによってバッキングされるため、プロセスに2 GBファイルのマップビューがある場合、2 GBのページファイルによってバッキングされます。したがって、IISが実行されていて、書き込み用に多数のログファイルが開かれている場合、ページファイル内のスペースが予約される可能性があります。これは問題ではなく、パフォーマンスに悪影響を及ぼします。
2008 R2には、メモリがスタンバイ状態になるという実際の問題があります。特にItaniumボックスで。 「既知の問題です」は、MSからの返信です。
Windowsは通常、メモリが使用可能な場合はメモリを使用し、他のプロセスがメモリを必要とする場合は解放することをお勧めします。 「マップファイル」は物理メモリを使用せず、仮想メモリのみを使用します。プロセスはファイルをメモリにマップして、メモリ内にあるかのようにファイルの内容にアクセスできます。この方法は、従来の方法でファイルにアクセスするよりも高速です。ただし、これはファイル全体がメモリに読み込まれることを意味するものではありません。
マシンで実際のパフォーマンスの問題が発生していますか?
Windowsタスクマネージャの[パフォーマンス]タブからいくつかの統計を投稿できますか?