\% Memoria vincolata in uso

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

Esegue il monitoraggio del contatore delle prestazioni Memoria\\% Byte vincolati in uso

Knowledge Base article:

Riepilogo

Il valore % Byte vincolati in uso (Memoria\% Byte vincolati in uso) per il sistema ha superato la soglia. Le prestazioni generali del sistema rallentano in modo significativo, rallentando anche il funzionamento del sistema operativo e le prestazioni delle applicazioni.

Il contatore delle prestazioni % Byte vincolati in uso rappresenta il rapporto tra Memoria\Byte vincolati e Memoria\Limite memoria vincolata. Byte vincolati rappresenta la quantità di memoria virtuale vincolata mentre Limite memoria vincolata rappresenta la quantità di memoria virtuale che è possibile vincolare senza estendere i file di paging.

Quando viene superata la soglia di prestazioni, spesso significa che non è possibile espandere il file di paging oppure che non è possibile espanderlo abbastanza rapidamente da soddisfare i requisiti di memoria dell'applicazione.

Cause

È possibile che il volume di memoria fisica disponibile diventi insufficiente nei casi seguenti:

Soluzioni

Per verificare se vi è un utilizzo eccessivo del paging, aggiungere i valori dei contatori Media secondi/trasf. disco, ovvero il contatore del disco fisico, e Pagine/sec. Se il prodotto di questi contatori supera il valore 0,1, il paging utilizza oltre il 10% del tempo di accesso al disco. Se ciò accade per un periodo di tempo prolungato, è possibile che sia necessario aggiungere memoria.

Successivamente, controllare se l'eccesso di paging è dovuto alle applicazioni in esecuzione. Se possibile, arrestare l'applicazione con il valore di working set più alto e verificare se la velocità di paging cambia in modo appariscente. Nel caso si sia verificato un eccesso di paging, controllare il contatore Pagine/sec in Monitor di sistema. Questo contatore, che fa parte del tipo di oggetto Memoria, mostra il numero di pagine che è stato necessario leggere dal disco in quanto non erano nella memoria fisica. È importante notare la differenza tra questo contatore e Errori pagina/sec, il quale indica solo i dati non immediatamente disponibili nel working set in memoria specificato.

Per risolvere una situazione di carenza di memoria fisica, l'amministratore potrà scegliere una o più delle opzioni seguenti:

Se il sistema dispone di memoria fisica adeguata e di un carico di applicazioni corretto ma la memoria fisica disponibile scende continuamente sotto la soglia, è possibile che si verifichi una perdita di memoria da un'applicazione. Per identificare l'applicazione in cui si verifica la perdita di memoria, l'amministratore potrà effettuare le seguenti operazioni:

Aprire Monitor di sistema e controllare l'andamento nel tempo dei seguenti contatori delle prestazioni a livello di sistema:

Se il valore di uno o più di questi contatori continua ad aumentare nel tempo, è possibile che in un'applicazione sia presente una perdita di memoria. Per visualizzare la cronologia di tali contatori delle prestazioni, è possibile utilizzare la seguente vista:

Se risulta evidente una perdita di memoria nel sistema, è possibile individuare l'applicazione specifica osservando i seguenti contatori per ciascun processo in esecuzione che utilizza Monitor di sistema:

Se viene rilevato un coerente e significativo aumento di uno di questi contatori, è possibile che sia necessario contattare il produttore dell'applicazione per ottenere supporto.

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
\% Memoria vincolata in uso troppo elevata
La soglia per il contatore delle prestazioni Memoria\\% Byte vincolati in uso è stata superata.
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>