使用中のコミット メモリの割合

Microsoft.Windows.Client.Vista.OperatingSystem.PercentCommittedBytesInUse (UnitMonitor)

パフォーマンス カウンタ Memory\\% Committed Bytes in Use を監視します

Knowledge Base article:

概要

システムの % Committed Bytes In Use (Memory\% Committed Bytes In Use) がしきい値を超えました。全体的なシステムのパフォーマンスが著しく低下する可能性があります。これによって、オペレーティング システムとアプリケーションのパフォーマンスが低下します。

% Committed Bytes In Use パフォーマンス カウンタは、Memory\Committed Bytes の Memory\Commit Limit に対する割合を表示します。Committed Bytes はコミットされた仮想メモリのサイズを表し、Commit Limit はページング ファイルを拡張する必要なしにコミットできる仮想メモリのサイズを表します。

多くの場合、このパフォーマンスしきい値の超過は、ページ ファイルを拡張できないか、拡張に時間がかかり過ぎたことが原因でアプリケーションのメモリ要件を満たせなかったことを示します。

原因

利用可能な物理メモリの量は、次の状況で足りなくなることがあります。

解決方法

過度なページングが発生しているかどうかを確認するには、Avg.Disk sec/Transfer (物理ディスク カウンタ) と Pages/sec カウンタの値を足します。これらのカウンタを足した結果が 0.1 を超える場合は、ディスク アクセス時間の 10% 以上がページングに使用されています。この状態が長期間継続する場合は、メモリを増量する必要があります。

次に、アプリケーションの実行が原因で過度なページングが発生していないかを確認します。可能であれば、ワーキング セット値が最も高いアプリケーションを停止し、ページング率が大きく変化するかどうかを確認します。過度なページングが疑われる場合は、システム モニタで Pages/sec カウンタを確認します。Memory オブジェクトの種類の一部であるこのカウンタは、物理メモリに存在せず、ディスクから読み取る必要があったページ数を表示します (このカウンタと Page Faults/sec の違いに注意してください。Page Faults/sec は、データがメモリの指定されたワーキング セットですぐに使用できなかったことのみを示します)。

物理メモリの量が少なくなった場合、管理者は次の 1 つまたは複数のオプションを選択できます。

システムに十分な量の物理メモリとアプリケーション負荷が割り当てられているにもかかわらず、時間が経つにつれ頻繁に利用可能なメモリのしきい値を超える場合は、アプリケーションでメモリ リークが発生している可能性があります。メモリをリークしているアプリケーションを特定するには、管理者は次の手順を実行します。

システム モニタを開き、次のシステム全体のパフォーマンス カウンタを一定期間にわたってモニタします。

これらのカウンタのいずれかが、時間が経つにつれ増加し続ける場合は、アプリケーションでメモリ リークが発生している可能性があります。これらのパフォーマンス カウンタの最近の履歴を見るには、次の表示を使用できます。

システムにメモリ リークの兆候が見られる場合は、システム モニタを使って、実行中の各プロセスの次のカウンタを監視することによって、メモリ リークが発生しているアプリケーションを特定できます。

これらのカウンタのいずれかで、一貫して大きな増加が見られる場合は、アプリケーション ベンダにサポートを要請する必要があります。

Element properties:

TargetMicrosoft.Windows.Client.Vista.OperatingSystem
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledTrue
Instance NameMemory
Counter Name\% Committed Bytes In Use
Frequency120
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeSystem.Performance.AverageThreshold
RemotableTrue
AccessibilityPublic
Alert Message
使用中のコミット メモリの割合が高すぎます
Memory\\% Committed Bytes In Use パフォーマンス カウンタのしきい値を超えました。しきい値を超えた値は、次のとおりです。 {0}.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.Windows.Client.Vista.OperatingSystem.PercentCommittedBytesInUse" Accessibility="Public" Enabled="true" Target="Vista!Microsoft.Windows.Client.Vista.OperatingSystem" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="SystemPerf!System.Performance.AverageThreshold" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.Windows.Client.Vista.OperatingSystem.PercentCommittedBytesInUse.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Value$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="OverThreshold" MonitorTypeStateID="UnderThreshold" HealthState="Success"/>
<OperationalState ID="UnderThreshold" MonitorTypeStateID="OverThreshold" HealthState="Error"/>
</OperationalStates>
<Configuration>
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<CounterName>% Committed Bytes In Use</CounterName>
<ObjectName>Memory</ObjectName>
<Frequency>120</Frequency>
<Threshold>80</Threshold>
<NumSamples>3</NumSamples>
</Configuration>
</UnitMonitor>