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

Microsoft.Windows.Server.10.0.OperatingSystem.PercentCommittedBytesInUse (UnitMonitor)

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

Knowledge Base article:

概要

システムのコミット済みメモリの割合 (Memory\% Committed Bytes In Use) がしきい値を超えました。システム全体のパフォーマンスが著しく低下する可能性があります。その場合は、オペレーティング システムとアプリケーションのパフォーマンスが低下します。

% Committed Bytes In Use パフォーマンス カウンターは、Memory\Commit Limit に対する Memory\Committed Bytes の割合を示します。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.Server.10.0.OperatingSystem
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledFalse
Instance NameMemory
Counter Name\% Committed Bytes In Use
Frequency120
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeSystem.Performance.ConsecutiveSamplesThreshold
RemotableTrue
AccessibilityPublic
Alert Message
使用中のコミット メモリの割合が高すぎます
Memory\\% Committed Bytes In Use パフォーマンス カウンターのしきい値を超えました。
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.Windows.Server.10.0.OperatingSystem.PercentCommittedBytesInUse" Accessibility="Public" Enabled="false" Target="ServervNext!Microsoft.Windows.Server.10.0.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.10.0.OperatingSystem.PercentCommittedBytesInUse.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters/>
</AlertSettings>
<OperationalStates>
<OperationalState ID="UnderThreshold" MonitorTypeStateID="ConditionFalse" HealthState="Success"/>
<OperationalState ID="OverThreshold" MonitorTypeStateID="ConditionTrue" HealthState="Error"/>
</OperationalStates>
<Configuration>
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<CounterName>% Committed Bytes In Use</CounterName>
<ObjectName>Memory</ObjectName>
<InstanceName/>
<Frequency>120</Frequency>
<Threshold>80</Threshold>
<Direction>greater</Direction>
<NumSamples>3</NumSamples>
</Configuration>
</UnitMonitor>