web-dev-qa-db-ja.com

Windows 2003 R232ビットターミナルサーバーでの不安定性の問題

一部のWindows200332ビットTSで不安定性の問題が発生しています。

多くのグーグルを行った後、私の疑いは、ページテーブルエントリ(PTE)が不足していることです。

私が収集できることから、これはWindows32ビットサーバーで/ 3GBスイッチを使用する場合の問題であり、TSを使用すると簡単に制限に達する可能性があります。

これが起こっていることをどのように確認できますか?私はperfmonの経験がなく、Process Explorerの経験も限られており、何を探しているのかよくわかりません。

詳細:これが発生すると、タスクマネージャのプロセスリストは常に空になり、メモリカウンタも空白になります。これが発生した場合、サーバーには通常約65人のユーザーしかいませんが、MSOとさまざまな会計ソフトウェアを実行しています。そのうちのいくつかはかなりひどく書かれていて肥大化しています。ユーザーあたりの一般的なメモリ使用量は200〜600 MBですが、サーバーで使用可能なRAMが不足することはありません。サーバーには数台のプリンターがインストールされており、場合によっては最大20台までインストールされます。サーバーは数年前に70〜80人のユーザーでスムーズに稼働していましたが、安定しているように見えるため縮小されました。

3
Gomibushi

Windows Server 2003 x86カーネルメモリは、デフォルトで、頻繁に使用されるターミナルサーバーに対して大幅に構成が不十分です。

実行中のシステムで実際に使用されている値を表示するには、SysInternalのProcessExplorerの[表示]> [システム情報]を使用できます。システムが最大量のページプールと非ページプールを使用するように構成されている場合、ページ制限は512 MB、非ページ制限は256MBになります。

enter image description here

この詳細レベルを表示するには、[オプション]> [シンボルの構成]で適切なシンボルをロードする必要があります。

enter image description here

ページングされた物理または非ページングのいずれかが制限に近づいている場合、システムが不安定になります。これらの最大制限を構成するレジストリ値は、次の場所にあります。

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management]
"PagedPoolSize"=dword:FFFFFFFF
"SystemPages"=dword:FFFFFFFF

X86ウィンドウはカーネルメモリスペースに使用できるのはかなり少量であり、制限に示されている量を超えることはできないため、大量の物理メモリがあると役に立たない場合があることに注意してください。 (x64カーネルのメモリ制限ははるかに制約が少ないです)。制限は、使用可能なメモリとレジストリ設定に基づいて、システムの起動時に動的に計算されます。

次のWindowsデバッガコマンドを使用して、カーネルメモリの使用状況に関する詳細を取得できます。

!vm- ProcessExplorerのカーネルメモリ制限と同様の情報を表示します。
! poolused n-ページング/非ページングプールの使用に関する情報を表示します。これは、ドライバーに過剰なカーネルメモリを消費するメモリリークがある場合に役立つことがあります。

!poolusedコマンド
http://msdn.Microsoft.com/en-us/library/windows/hardware/ff564700%28v=vs.85%29.aspx

!vmコマンド
http://msdn.Microsoft.com/en-us/library/windows/hardware/ff565602%28v=vs.85%29.aspx

3
Greg Askew

32ビットTSの70〜80人のユーザーは私には多くのように思えます。私たちの計画数は常に50から65ユーザーです。サーバーにはどのくらいのRAMがありますか?

TSで/ 3GBを使用すると、パフォーマンスと安定性の問題が発生します。私はそれを直接見ました。それは、ユーザープロファイルを読み込めないことから始まり、そこからすぐにエスカレートします。私の提案は、/ 3GBスイッチを取り外して、それがパフォーマンスと安定性にどのような影響を与えるかを確認することです。

2
joeqwerty

カーネルメモリの使用量を判断する方法の説明は、私の記事 Windows x64 –すべて同じだが非常に異なる、パート2:カーネルメモリ、/ 3GB、PTE、(非)ページプール にあります。

つまり、WinDbgをLiveKDと組み合わせて使用​​することで、ローカルマシンとのライブデバッグセッションを確立できます。そこから、無料のPTE、使用状況、最大(非)ページプールなどを簡単に照会できます。

1
Helge Klein