Esegue il monitoraggio del contatore delle prestazioni Memoria\\% Byte vincolati in uso
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.
È possibile che il volume di memoria fisica disponibile diventi insufficiente nei casi seguenti:
Quando nel computer è attivo contemporaneamente un numero eccessivo di applicazioni.
Si è verificata una perdita di memoria di un'applicazione nel tempo.
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:
Chiudere o interrompere una o più applicazioni, servizi o processi
Aggiungere ulteriore memoria fisica al computer
Spostare le applicazioni su uno o più computer aggiuntivi (disponibile solo per i server)
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:
File di paging\% In uso
File di paging\%
Memoria\Byte del pool non di paging
Memoria\Byte del pool di paging
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:
Processo\Byte del file di paging
Processo\Byte del pool non di paging
Processo\Byte del pool di paging
Processo\Byte privati
Processo\Conteggio dei thread
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.
Target | Microsoft.Windows.Server.2003.OperatingSystem | ||
Parent Monitor | System.Health.PerformanceState | ||
Category | PerformanceHealth | ||
Enabled | False | ||
Instance Name | Memory | ||
Counter Name | \% Committed Bytes In Use | ||
Frequency | 120 | ||
Alert Generate | True | ||
Alert Severity | Error | ||
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.PercentCommittedBytesInUse" Accessibility="Public" Enabled="false" 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.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>