パフォーマンス カウンター Memory\MemoryPagesPerSecond を監視します
システムのディスクへのメモリ ページング率が高すぎます。この監視結果は、"Memory\Pages/sec" カウンターに基づいています。このカウンターは、システム全体を遅延させる不具合の主なインジケーターです。システム全体のパフォーマンスが著しく低下する可能性があります。
Pages/sec は、ハード ページ フォールトを解決するためにディスクに対してページの読み取り、書き込みを行うページングの速度を示します。
一部のアプリケーションによってメモリが過剰に消費されるため、システムがその要求に対処しようとしてディスクに対するデータのページングを行います。
システムのメモリを最も消費しているプロセスとページング率を突き止めるために、パフォーマンス モニターの “Process” オブジェクトの次のカウンターを使います。
Page Faults/sec: Page Faults/sec は、このプロセスで実行されるスレッドによるページ フォールトの発生率を示します。 ページ フォールトは、スレッドが参照する仮想メモリのページがメイン メモリのワーキング セットにないときに発生します。 ページ フォルトにより、ページがスタンバイ リストにある場合 (すでにメイン メモリ内にある場合)、またはページを共有している別のプロセスによってページが使用されている場合は、そのページが取得されないことがあります。
Pool Nonpaged Bytes: Pool Nonpaged Bytes は、非ページ プールのバイト数を示します。非ページ プールは、ディスクに書き込まれずに、割り当てられている間は物理メモリ内に存在するオブジェクト用のシステム メモリ (オペレーティング システムによって使用される物理メモリ) の領域です。 Memory\\Pool Nonpaged Bytes の計算方法は Process\\Pool Nonpaged Bytes とは異なるため、Process\\Pool Nonpaged Bytes\\_Total と一致しない場合があります。 このカウンターは、平均値ではなく最新の監視値のみを表示します。
Pool Paged Bytes: Pool Paged Bytes は、ページ プールのサイズをバイト数で示します。ページ プールは、使用されていないときにディスクに書き込まれる可能性があるオブジェクト用のシステム メモリ (オペレーティング システムによって使用される物理メモリ) の一領域です。 Memory\\Pool Paged Bytes の計算方法は Process\\Pool Paged Bytes とは異なるため、Process\\Pool Paged Bytes\\_Total と一致しない場合があります。 このカウンターは、平均値ではなく最新の監視値のみを表示します。
調べた結果に応じて、次のいずれかの解決方法を試します。
オペレーティング システムまたはアプリケーションに更新プログラムを適用して、既知のメモリの問題を解決します。
システムで実行するアプリケーションの数を減らすか、システムにかかる負荷の量を減らします。
システムに RAM を増設します。
Target | Microsoft.Windows.Server.2003.OperatingSystem | ||
Parent Monitor | System.Health.PerformanceState | ||
Category | PerformanceHealth | ||
Enabled | True | ||
Instance Name | Memory | ||
Counter Name | Pages/Sec | ||
Frequency | 300 | ||
Alert Generate | True | ||
Alert Severity | Warning | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | System.Performance.ConsecutiveSamplesThreshold | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.Windows.Server.2003.OperatingSystem.MemoryPagesPerSecond" Accessibility="Public" Enabled="true" Target="Microsoft.Windows.Server.2003.OperatingSystem" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="SystemPerf!System.Performance.ConsecutiveSamplesThreshold" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.Windows.Server.2003.OperatingSystem.MemoryPagesPerSecond.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Warning</AlertSeverity>
<AlertParameters/>
</AlertSettings>
<OperationalStates>
<OperationalState ID="OverThreshold" MonitorTypeStateID="ConditionTrue" HealthState="Warning"/>
<OperationalState ID="UnderThreshold" MonitorTypeStateID="ConditionFalse" HealthState="Success"/>
</OperationalStates>
<Configuration>
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<CounterName>Pages/Sec</CounterName>
<ObjectName>Memory</ObjectName>
<InstanceName/>
<Frequency>300</Frequency>
<Threshold>5000</Threshold>
<Direction>greaterequal</Direction>
<NumSamples>12</NumSamples>
</Configuration>
</UnitMonitor>