Condividi tramite


Esclusione di problemi correlati alla memoria

 

Ultima modifica dell'argomento: 2006-07-25

Le caratteristiche strutturali di Exchange Server determinano un elevato consumo della memoria che può arrivare fino a 3 GB di memoria fisica. In un server di produzione, non è insolito che il processo Store.exe utilizzi 1,5 GB di memoria virtuale, poiché gestisce cache di grandi dimensioni.

Oltre alla memoria utilizzata dai diversi processi di Exchange, anche il driver del kernel ExIFS di Exchange utilizza la memoria del kernel. Sebbene sia meno visibile, un elevato utilizzo della memoria del kernel determina una significativa riduzione del livello di prestazioni e una notevole instabilità.

Analisi dello spazio di memoria degli utenti

Man mano che la memoria viene utilizzata dal server e la quantità di memoria libera diminuisce, il sistema operativo inizia a ridurre il working set dei processi e a utilizzare più estesamente il file di paging. L'utilizzo del file di paging influisce sulle prestazioni complessive perché le operazioni sul disco richiedono più tempo delle operazioni eseguite in memoria.

Inoltre, quando il paging raggiunge un livello elevato, potrebbe verificarsi un collo di bottiglia e le prestazioni potrebbero risentirne. In questo caso, il problema effettivo è rappresentato dalla memoria e il collo di bottiglia relativo al disco non è altro che un sintomo.

Per determinare lo stato dello spazio di memoria degli utenti utilizzare i contatori indicati nella tabella seguente.

Contatori delle prestazioni relativi allo spazio di memoria degli utenti

Contatore Valori previsti

Memoria\Mbyte disponibili (MB)

Indica la quantità di memoria fisica, espressa in MB, che può essere immediatamente allocata a un processo o utilizzata dal sistema.

La quantità di memoria disponibile equivale alla somma della memoria assegnata agli elenchi delle pagine in standby (in cache), libere e azzerate.

  • Durante le verifiche, è necessario che siano sempre disponibili 50 MB di memoria.

Memoria\Pagine/sec

Indica la velocità di lettura o scrittura delle pagine sul disco per risolvere gli errori di pagina di memoria hardware.

Il contatore è l'indicatore primario del tipo di errori che causano ritardi a livello di sistema. Include le pagine recuperate per risolvere gli errori di pagina di memoria nella cache del file system. Tali pagine vengono generalmente richieste dalle applicazioni.

  • Il valore indicato dal contatore dovrebbe essere sempre inferiore a 1.000.

Aumento dello spazio di memoria degli utenti

Nell'elenco seguente vengono descritte le possibilità di miglioramento delle prestazioni relative allo spazio di memoria degli utenti:

  • Rimozione del software superfluo
    Per liberare maggiori risorse per Exchange, rimuovere dal server eventuali strumenti software di terze parti adibiti al monitoraggio dei processi remoti o a qualsiasi altro tipo di servizio non essenziale. Utilizzare lo snap-in Prestazioni per informazioni sulla memoria utilizzata da ogni applicazione.
  • Esecuzione delle attività di gestione in ore di scarso traffico
    L'esecuzione di strumenti di gestione, ad esempio Eseutil, o di attività di manutenzione, ad esempio la gestione di cassette postali, nelle ore di maggiore traffico potrebbe attingere a memoria altrimenti necessaria per Exchange. È preferibile eseguire questi strumenti e queste attività nelle ore di scarso traffico oppure durante i periodi di utilizzo ridotto, ad esempio i fine settimana.

Analisi dell'utilizzo della memoria del kernel

La memoria del kernel Windows, costituita da numerose strutture di memoria utilizzate dal sistema operativo di base o kernel, rappresenta un'ulteriore area da monitorare per garantire un buono stato di funzionamento della distribuzione di Exchange Server. In questa sezione vengono descritte le modalità di monitoraggio e di risoluzione dei problemi relativi alle strutture di memoria del kernel che influiscono sulle prestazioni e sull'affidabilità dei server Exchange.

Per i server di Exchange è necessario monitorare tre strutture chiave della memoria del kernel:

  • Pool di paging Il pool di paging rappresenta la parte di memoria di sistema condivisa della quale è possibile eseguire il paging sul disco. Il pool di paging viene creato durante l'inizializzazione del sistema e viene utilizzato dai componenti in modalità kernel per allocare la memoria di sistema.
  • Pool non di paging Il pool non di paging è costituito dagli indirizzi virtuali del sistema permanentemente residenti nella memoria fisica e ai quali, di conseguenza, è possibile accedere da qualsiasi spazio indirizzo senza richiedere I/O (input/output) di paging. Analogamente al pool di paging, anche il pool non di paging viene creato durante l'inizializzazione del sistema e viene utilizzato dai componenti in modalità kernel per allocare la memoria di sistema.
  • PTE di sistema Gli indirizzi di memoria virtuale del file di paging vengono associati agli indirizzi della memoria fisica mediante una tabella delle pagine di memoria. Microsoft Exchange Server 2003 utilizza un pool di PTE (Page Table Entries, voci della tabella pagine) di sistema per eseguire il mapping delle pagine di sistema quali lo spazio I/O, gli stack del kernel e gli elenchi di descrizione memoria.

Influenza delle impostazioni del file Boot.ini sulla dimensione degli spazi di memoria del kernel

La dimensione massima degli spazi di memoria del kernel di un server Exchange è influenzata dalle impostazioni del file boot.ini di Microsoft Windows Server™ 2003. Se ad esempio nel file boot.ini si utilizza l'opzione /3GB, ai processi in modalità utente vengono allocati 3 GB di spazio indirizzo virtuale, mentre al sistema operativo solo 1 GB.

Per ulteriori informazioni sull'utilizzo dell'opzione /3GB, vedere i seguenti articoli della Microsoft Knowledge Base:

Nella tabella seguente vengono illustrate le variazioni della memoria massima approssimativa di ogni spazio di memoria kernel di un server di Exchange in base alle impostazioni del file boot.ini. In questo esempio, Exchange Server 2003 viene eseguito in un server multiprocessore con Windows Server 2003 e 4 GB di RAM.

Impostazioni del file boot.ini e dimensione massima degli spazi di memoria kernel

Spazio di memoria kernel Dimensione massima con le opzioni boot.ini predefinite Dimensione massima con le opzioni boot.ini /3GB e /USERVA = 3030

Pool di paging

356 MB

245 MB

Pool non di paging

256 MB

128 MB

PTE di sistema

300.000 voci della tabella pagine disponibili

24.000 voci della tabella pagine disponibili

Nella seguente tabella vengono visualizzate le impostazioni di notifica di Performance Monitor per Exchange Server in esecuzione su un server multiprocessore con 4 GB di RAM e Windows Server 2003. A livello "avviso", il server è stabile, ma è necessario indagare su potenziali problemi dovuti alle allocazioni di memoria. A livello "critico", il server rischia di diventare instabile, in particolare nei picchi del carico.

Impostazioni di notifica di Performance Monitor con diverse impostazioni del file boot.ini

Spazio di memoria kernel Contatore di Performance Monitor Attivazione di Performance Monitor con le impostazioni predefinite del file boot.ini Attivazione di Performance Monitor con le opzioni /3GB e /USERVA = 3030 del file boot.ini

Pool di paging

Memoria\Byte del pool di paging

  • Messaggio di avviso quando il contatore Byte del pool di paging supera 300 MB
  • Messaggio di avviso critico quando il contatore Byte del pool di paging supera 320 MB
  • Messaggio di avviso quando il contatore Byte del pool di paging supera 200 MB
  • Messaggio di avviso critico quando il contatore Byte del pool di paging supera 220 MB

Pool non di paging

Memoria\Byte del pool non di paging

  • Messaggio di avviso quando il contatore Byte del pool non di paging supera 200 MB
  • Messaggio di avviso critico quando il contatore Byte del pool non di paging supera 220 MB
  • Messaggio di avviso quando il contatore Byte del pool non di paging supera 100 MB
  • Messaggio di avviso critico quando il contatore Byte del pool non di paging supera 110 MB

PTE di sistema

Memoria\Voci libere tabella pagine di sistema *

  • Messaggio di avviso quando le voci libere della tabella pagine di sistema sono meno di 8.000
  • Messaggio di avviso critico quando le voci libere della tabella pagine di sistema sono meno di 5.000, viene visualizzato "Critical"
  • Messaggio di avviso quando le voci libere della tabella pagine di sistema sono meno di 8.000
  • Messaggio di avviso critico quando le voci libere della tabella pagine di sistema sono meno di 5.000

* Nelle installazioni di Windows Server 2003 senza Service Pack 1, il contatore di Performance Monitor "Memoria\Voci libere tabella pagine di sistema" non è accurato. Per ulteriori informazioni su questo contatore, vedere l'articolo della Microsoft Knowledge Base 894067 “The Performance tool does not accurately show the available Free System Page Table entries in Windows Server 2003” (https://go.microsoft.com/fwlink/?linkid=3052&kbid=894067).

Sintomi dell'esaurimento della memoria kernel nei server di Exchange

I sintomi di esaurimento della memoria kernel nei server di Exchange vanno dal rallentamento dei tempi di risposta fino all'improvviso arresto anomalo del sistema.

Sintomi dell'esaurimento della memoria kernel nei server di Exchange

Spazio di memoria kernel Sintomi di esaurimento

Pool di paging

  • Interfaccia utente che non risponde o con tempi di risposta elevati
  • Nel server si verificano errori di elaborazione relativi ai messaggi o ai client
  • Errori di allocazione del pool di paging (ID evento 2020: "Il server non ha potuto allocare memoria di paging. Il pool di paging era vuoto"). Per ulteriori informazioni, vedere l'articolo 312362 della Microsoft Knowledge Base "Server is unable to allocate memory from the system paged pool". (https://go.microsoft.com/fwlink/?linkid=3052&kbid=312362).

Pool non di paging

  • Interfaccia utente che non risponde o con tempi di risposta elevati
  • Nel server si verificano errori di elaborazione relativi ai messaggi o ai client
  • Il server non risponde alle richieste di rete
  • Errori di allocazione del pool non di paging (ID evento 2019: “Il server non ha potuto allocare memoria non di paging. Il pool non di paging era vuoto”).

PTE di sistema

  • Il server non risponde alle richieste di I/O
  • Il server non risponde alle richieste di rete
  • Nel server si verificano errori di elaborazione relativi ai messaggi o ai client

Risoluzione dei problemi della memoria kernel nei server di Exchange

Se i contatori della memoria kernel di Performance Monitor visualizzati nella precedente tabella "Impostazioni di notifica di Performance Monitor con diverse impostazioni del file boot.ini" non rientrano nei valori consigliati e/o se si presentano i sintomi descritti nella tabella "Sintomi dell'esaurimento della memoria kernel nei server di Exchange", per determinare la causa dell'esaurimento della memoria kernel utilizzare il seguente metodo di risoluzione dei problemi.

  1. Per determinare se il server Exchange è configurato correttamente eseguire lo strumento Microsoft Exchange Server Best Practices Analyzer.
    Esistono numerose impostazioni di configurazione che influiscono sugli spazi della memoria kernel di Exchange Server, ad esempio le impostazioni /3GB e /Userva del file boot.ini descritte in precedenza, la chiave SystemPages del Registro di sistema e altre ancora. Prima di analizzare i sintomi di esaurimento della memoria kernel, è di fondamentale importanza verificare la corretta configurazione della memoria kernel del server. Per assicurarsi della corretta configurazione del server, eseguire lo strumento Microsoft Exchange Best Practices Analyzer ed esaminarne attentamente i risultati. Per ulteriori informazioni su questo strumento, vedere "Exchange Server Best Practices Analyzer Tool" nell'Area download Microsoft.
  2. Determinare lo spazio di memoria kernel in esaurimento.
    • Analizzare gli eventi Analizzare il registro del Visualizzatore eventi per verificare l'eventuale esistenza di errori di allocazione del pool di paging e del pool non di paging (ID evento 2019 e 2020).
    • Analizzare le prestazioni Utilizzare Performance Monitor per creare un registro del pool di paging, del pool non di paging e delle PTE libere di sistema, con un campionamento ogni 60 secondi per 24 ore. Confrontare i risultati del registro di Performance Monitor con le attivazioni relativi a eventi di avviso o critici visualizzati nella precedente tabella, "Impostazioni di notifica di Performance Monitor con diverse impostazioni del file boot.ini".
      Quando si analizzano i registri del Visualizzatore eventi e di Performance Monitor utilizzando le tre tabelle visualizzate in precedenza, lo spazio di memoria kernel in esaurimento dovrebbe risultare evidente.
  3. Determinare la causa dell'esaurimento dello spazio della memoria kernel.
    1. Determinare i tag nella memoria del pool di paging e/o non di paging che determinano la condizione di esaurimento della memoria.
      Il sistema operativo utilizza i tag per tenere traccia delle allocazioni della memoria del kernel relativa al pool di paging e al pool non di paging. Windows Server 2003 esegue questa operazione per impostazione predefinita, mentre in Microsoft Windows 2000 Server, per abilitare il tag di pool è necessaria l'utilità Global Flags Editor (gflags.exe). Per informazioni più dettagliate sui flag utili per la risoluzione dei problemi di memoria, vedere l'articolo 177415 della Microsoft Knowledge Base, "How to Use Memory Pool Monitor (Poolmon.exe) to Troubleshoot Kernel Mode Memory Leaks" (https://go.microsoft.com/fwlink/?linkid=3052&kbid=177415) e l'articolo 298102 della Microsoft Knowledge Base, "How to Find Pool Tags That Are Used By Third-Party Drivers" (https://go.microsoft.com/fwlink/?linkid=3052&kbid=298102).
      Eseguire Memory Pool Monitor (poolmon.exe) o lo strumento di analisi della memoria MemSnap (memsnap.exe, con l'opzione /p) per creare un'immagine dei tag in un file e, quindi, determinare il tag associato al consumo della memoria del pool di paging o non di paging più elevato. Eseguire lo strumento di analisi della memoria MemSnap a intervalli pianificati può contribuire a isolare problemi della memoria kernel e fornire un'indicazione sulla variazione delle operazioni di allocazione nel corso del tempo. Per ulteriori informazioni sullo strumento di analisi della memoria MemSnap, vedere "Memsnap Overview" (https://go.microsoft.com/fwlink/?LinkId=50167).

      Esempio di snapshot della memoria creato da MemSnap

      Tag Type Allocs Frees Diff Bytes Per Alloc

      AGP Nonp

      1

      0

      1

      344

      344

      AGP Paged

      7

      5

      2

      384

      192

      AcdN Nonp

      2

      0

      2

      1,072

      536

      AcpA Nonp

      39

      36

      3

      192

      64

      AcpA Paged

      1

      0

      1

      504

      504

      AcpB Paged

      42

      38

      4

      576

      144

      AcpD Nonp

      315

      170

      45

      15,080

      335

      AcpF Nonp

      493

      485

      8

      320

      40

      Nell'esempio visualizzato nella tabella precedente, utilizzare la colonna "Bytes" per individuare il tag che attinge maggiormente alla memoria. In questo esempio, si tratta di AcpD Nonp. Utilizzare le colonne "Allocs" e "Frees" per individuare potenziali problemi di memoria. I valori di Allocs e Frees sono molto diversi e ciò potrebbe indicare un potenziale problema di memoria.

    2. Individuare una corrispondenza tra il tag del pool di paging o non di paging e l'applicazione o il driver. Per individuare la corrispondenza tra il tag e l'applicazione o il driver, utilizzare le seguenti risorse:
      Scaricare e installare gli strumenti di debug Microsoft per Windows, disponibili all'indirizzo https://go.microsoft.com/fwlink/?LinkId=50168. Con l'installazione, nella directory %program files%\Debugging Tools for Windows\triage viene inserito il file "pooltag.txt" che fornisce un mapping tra le applicazioni o i driver Microsoft e i relativi tag. Ad esempio:
      Ntf? - ntfs.sys - NTFS specific allocation tags
      Ntf0 - ntfs.sys - General pool allocation
      Ntf9 - ntfs.sys - Large temporary buffer
      Per ulteriori informazioni sui tag, vedere l'articolo 298102 della Microsoft Knowledge Base "How to Find Pool tags That Are Used By Third-Party Drivers" (https://go.microsoft.com/fwlink/?linkid=3052&kbid=298102).
      Intraprendere le necessarie azioni correttive per i problemi di allocazione dei tag:
      Se il tag che determina problemi rappresenta un'applicazione o un driver Microsoft, come indicato nel file pooltag.txt citato in precedenza, contattare il Servizio supporto tecnico Microsoft.
      Se il tag che determina problemi rappresenta un'applicazione o un driver di terze parti, contattare i servizi di supporto del relativo produttore.
      Se necessario, disabilitare o disinstallare le applicazioni e/o i driver che determinano il problema per preservare la stabilità del sistema fino alla risoluzione del problema.

    3. Intraprendere le necessarie azioni correttive relative ai tag ai quali è allocata una grande quantità di memoria, anche se non presentano un problema evidente.
      In alcuni casi i tag dei pool di paging e non di paging utilizzano grandi quantità di memoria kernel, circa 10 MB/tag per i pool non di paging e 40 MB/tag per i pool di paging, ma non sono presenti problemi di memoria. In genere, questo può verificarsi nel caso di server di cassette postali Exchange che superino 4.000 cassette postali oppure nel caso di code di recapito dei messaggi che superino i 10.000 messaggi.
      Di seguito vengono descritti casi specifici di elevato utilizzo della memoria basati sull'allocazione di tag:
      Tag del pool di paging TOKE Questo tag è utilizzato da Windows per memorizzare nella cache informazioni di protezione per ogni sessione utente aperta rispetto al server. Ad esempio, per ogni sessione utente generata da un client di posta elettronica come Microsoft Office Outlook viene creato un token, la cui memoria allocata utilizza il tag del pool di paging TOKE. A seconda del client è possibile aprire più sessioni per ogni client di posta elettronica, determinando la memorizzazione nella cache del server di più token per ciascun client. Il footprint di memoria del pool di paging di ogni token è basato generalmente sul numero di gruppi di protezione ai quali l'utente appartiene. Maggiore è il numero di gruppi di protezione ai quali l'utente appartiene, maggiore è la quantità di memoria del pool di paging utilizzata dai token associati alle sessioni dell'utente.
      Nell'output di MemSnap illustrato nella seguente tabella, la dimensione media dei token è di circa 3 KB.

      Esempio di snapshot della memoria creato da MemSnap

      Tag Type Allocs Frees Diff Bytes Per Alloc

      Toke Paged

      4,856,027

      4,855,591

      436

      12,093,848

      2,967

      Per risolvere l'esaurimento della memoria del pool di paging di cui il tag TOKE è il principale fruitore, attenersi alla seguente procedura:
      Se il footprint di memoria del pool di paging per token (TOKE per Alloc) è maggiore di 8 KB:
      •   Ridurre il numero di gruppi di protezione nell'organizzazione.
      •   Consolidare i gruppi di protezione ed eliminare nidificazioni eccessive.
      Se il footprint di memoria del pool di paging per token (TOKE per Alloc) è minore di 8 KB:
      •   Se l'esaurimento del pool di paging si verifica in un server di cassette postali, ridurre il numero di cassette postali del server e/o rimuovere dal server il ruolo della cartella pubblica.
      •   Se l'esaurimento del pool di paging si verifica in un server delle cartelle pubbliche, ridurre il numero degli archivi di cassette postali che utilizzano il server come archivio pubblico predefinito. In tal modo il numero dei client viene ridotto e, di conseguenza, viene ridotto il numero delle sessioni utente nel server delle cartelle pubbliche.
      •   Se si utilizza estesamente la condivisione del calendario di Outlook, assicurarsi che in tutti i client sia in esecuzione Outlook 2003 o una versione successiva. La condivisione del calendario crea un carico di token aggiuntivo sul server in quanto crea ulteriori sessioni utente. Outlook 2003 esegue questa attività in modo più efficiente, ossia con un numero inferiore di sessioni, rispetto alle versioni precedenti.
      Tag del pool di paging MMST Questo tag viene utilizzato dal gestore della cache di Windows per la memorizzazione dei file nella cache. Il gestore della cache di Windows riduce automaticamente la memorizzazione dei file nella cache al fine di liberare memoria per il pool di paging quando questo si esaurisce. Se Exchange Best Practices Analyzer Tool non riporta avvisi o errori relativi alla configurazione del protocollo SMTP, non è necessario intraprendere alcuna azione correttiva. Impostazioni SMTP non predefinite o errate possono aumentare il carico del gestore della cache di Windows, con una conseguente riduzione della memoria del pool di paging.
      In caso di sintomi di esaurimento del pool di paging e/o di eventi relativi al tag del pool di paging MMST, contattare il servizio Supporto tecnico di Microsoft.
      Tag del pool non di paging AUXL e FLST Questi tag vengono utilizzati da exifs.sys, ossia dal driver in modalità kernel utilizzato dal driver di archivio di Exchange per la lettura e la scrittura di elementi nei database di messaggistica.
      Se uno di questi tag si rivela il principale fruitore della memoria del pool non di paging, contattare il servizio Supporto tecnico di Microsoft.
      Tag del pool non di paging IpSA IPSec.sys, il principale driver di periferica IPSec (protezione IP), utilizza questo tag di Windows per accedere alle associazioni di protezione presenti nella memoria del pool di paging. L'utilizzo di IPSec.sys nei server Exchange aggiunge un sovraccarico al pool non di paging. Se questo tag si rivela il principale fruitore della memoria del pool non di paging in esaurimento, valutare le seguenti azioni correttive:
      Se l'esaurimento del pool non di paging si verifica in un server di cassette postali, ridurre il numero di cassette postali del server e/o rimuovere dal server il ruolo della cartella pubblica.
      Se l'esaurimento del pool non di paging si verifica in un server di cartelle pubbliche, ridurre il numero degli archivi di cassette postali che utilizzano il server come archivio pubblico predefinito. In tal modo il numero dei client viene ridotto e, di conseguenza, viene ridotto il numero delle sessioni utente nel server delle cartelle pubbliche.

    4. Individuare le cause dell'esaurimento di PTE, cosa che potrebbe non essere altrettanto immediata rispetto a quanto indicato per le cause di esaurimento del pool di paging e non di paging. Non esistono strumenti analoghi a MemSnap che consentano di tenere traccia dell'esaurimento delle PTE. Per risolvere un problema di questo genere, è possibile intraprendere soltanto azioni correttive generiche.
      Problemi delle PTE L'esaurimento delle PTE dovuto a qualche problema può essere isolato mediante Performance Monitor, utilizzando i contatori descritti in precedenza associati alle PTE di sistema libere. Un problema delle PTE si manifesta con una riduzione continua della memoria di Performance Monitor o delle PTE di sistema libere nel corso di più giorni. Per assistenza nella diagnosi di eventuali problemi delle PTE, contattare il servizio Supporto tecnico di Microsoft.
      Esaurimento delle PTE senza che sia stato evidenziato alcun problema L'esaurimento delle PTE può verificarsi anche in assenza di relativi problemi. In genere, questo può verificarsi nel caso di server di cassette postali Exchange che superino 4.000 cassette postali oppure nel caso di esaurimento delle PTE a opera di driver di terze parti. Per risolvere un problema di esaurimento delle PTE, intraprendere le seguenti azioni correttive:
      •   Rimuovere i driver di terze parti che non siano strettamente necessari.
      •   Utilizzare /BASEVIDEO o un driver video generico per liberare voci della tabella pagine di sistema. Le schede video utilizzano le voci della tabella pagine di sistema per eseguire il mapping dei propri buffer nello spazio del kernel. Questa caratteristica utilizza la stessa memoria utilizzata da Microsoft Exchange per le voci della tabella pagine di sistema.
      •   Ridurre l'impostazione /USERVA nel file boot.ini per aggiungere altre PTE disponibili. A questo scopo, seguire le istruzioni presenti nell'articolo 823440 della Microsoft Knowledge Base "Utilizzo dell'opzione /3GB in Exchange Server 2003 su un computer basato su Windows Server 2003" (https://go.microsoft.com/fwlink/?linkid=3052&kbid=823440).
      •   Se l'esaurimento delle PTE si verifica in un server di cassette postali, ridurre il numero di cassette postali del server e/o rimuovere dal server il ruolo della cartella pubblica.
      •   Se l'esaurimento delle PTE si verifica in un server di cartelle pubbliche, ridurre il numero degli archivi di cassette postali che utilizzano il server come archivio pubblico predefinito. In tal modo il numero dei client viene ridotto e, di conseguenza, viene ridotto il numero delle sessioni utente nel server delle cartelle pubbliche.

Analisi della memoria virtuale dell'archivio di Exchange

Ogni processo Store.exe di un server può utilizzare una quantità limitata di memoria, denominata memoria virtuale di archivio. Quando si potenzia mediante la scalabilità un server per accogliere più utenti e più utilizzi, è possibile che si riduca la memoria virtuale del server. Quando un server dispone già di 4 GB di RAM, non è possibile espandere ulteriormente la memoria del server. L'aggiunta di ulteriore memoria fisica non è in grado di risolvere gli errori che indicano l'esaurimento della memoria virtuale.

Quando la memoria virtuale di un server è insufficiente, le prestazioni complessive si riducono in quanto la carenza di memoria costringe il processo Store.exe a utilizzare il file di paging e il processo avvia velocemente il paging.

Per determinare lo stato effettivo della memoria virtuale dell'archivio utilizzare i contatori di prestazioni riportati nella tabella seguente.

Contatori di prestazioni relativi alla memoria virtuale degli archivi di Exchange

Contatore Valori previsti

MSExchangeIS\Dimensione blocco più grande di MV

Indica la dimensione, in byte, del blocco di dimensioni maggiori di memoria virtuale disponibile.

Questo contatore è rappresentato da una linea che si inclina verso il basso man mano che la memoria si esaurisce. Quando il contatore scende al di sotto del valore di 32 MB, nel registro eventi viene registrato un avviso (ID evento=9582). Se il contatore scende al di sotto del valore di 16 MB, nel registro eventi viene registrato un errore.

  • Questo valore non dovrebbe mai scendere al di sotto di 32 MB.

MSExchangeIS\Blocchi liberi complessivi da 16 MB nella MV

Indica il numero complessivo dei blocchi disponibili di memoria virtuale con una dimensione maggiore o uguale a 16 MB.

Questo contatore è rappresentato da una linea che inizialmente sale ma che inizia a scendere se la memoria disponibile diventa eccessivamente frammentata. Inizialmente vengono visualizzati alcuni grandi blocchi di memoria virtuale. Progressivamente, viene visualizzato un numero maggiore di blocchi più piccoli e separati. Se la dimensione dei blocchi è minore di 16 MB, la linea inizia a scendere.

  • Questo valore non dovrebbe mai scendere al di sotto di 1.

MSExchangeIS\Totale blocchi liberi di MV

Visualizza il numero complessivo di blocchi liberi nella memoria virtuale, a prescindere dalle dimensioni.

Questo contatore è rappresentato da una linea che inizialmente può salire ma che scende se la memoria disponibile diventa eccessivamente frammentata e i blocchi vengono utilizzati.

Utilizzare questo contatore per misurare il livello di frammentazione della memoria virtuale. La dimensione media del blocco è data dal rapporto tra l'istanza Process\Virtual Bytes\STORE e il totale dei blocchi disponibili di MSExchangeIS.

  • Questo valore non dovrebbe mai scendere al di sotto di 1.

MSExchangeIS\Totale byte di blocchi grandi liberi di MV

Visualizza la somma espressa in byte di tutti i blocchi liberi di memoria virtuale con dimensione pari o superiore a 16 MB.

Questo contatore esegue il monitoraggio della frammentazione della memoria degli archivi ed è rappresentato da una linea che si inclina verso il basso quando la memoria viene utilizzata. In un server che funziona correttamente, questa linea dovrebbe rimanere al di sopra di 50 MB.

  • Questo valore non dovrebbe mai scendere al di sotto di 50 MB.

Il processo Store.exe utilizza anche un proprio meccanismo di allocazione degli heap con strutture denominate Exchmem. All'avvio, il processo Store.exe crea numerosi heap di Exchmem e non incrementa il numero degli heap a meno che quelli esistenti siano interamente utilizzati o frammentati al punto che per un'allocazione non sia possibile individuare una quantità di memoria contigua sufficiente.

Se il problema consiste nell'utilizzo della memoria o nella frammentazione interna (frammentazione interna agli heap di Exchmem, che risiedono essi stessi nello spazio della memoria virtuale dell'archivio), il processo Store.exe crea nuovi heap di Exchmem.

In genere, se il processo Store.exe è ripetutamente costretto a creare ulteriori heap, la memoria virtuale complessiva dell'archivio diviene frammentata o si esaurisce. Rilevando i contatori presenti nella tabella seguente, è possibile determinare se gli heap di Exchmem rappresentino una fonte di problemi o di riduzione delle prestazioni man mano che vengono frammentati.

Contatori di prestazioni relativi agli heap di Exchmem

Contatore Valori previsti

MSExchangeIS\Exchmem: Numero di heap con errori di memoria

Indica il numero totale di heap di Exchmem per i quali non sia stato possibile eseguire le allocazioni a causa di un'insufficiente disponibilità di memoria.

  • Questo valore dovrebbe essere sempre uguale a 0 (zero).

MSExchangeIS\Exchmem: Numero di errori di memoria

Indica il numero totale di allocazioni di Exchmem che non è stato possibile soddisfare con la memoria disponibile.

  • Questo valore dovrebbe essere sempre uguale a 0 (zero).

MSExchangeIS\Exchmem: Numero di heap aggiuntivi

Indica il numero di heap di Exchmem creati dall'archivio successivamente all'avvio.

  • Questo valore non dovrebbe essere mai superiore a 3.

Incremento della memoria virtuale dell'archivio di Exchange

Nell'elenco seguente vengono descritte le possibilità di miglioramento delle prestazioni relative alla memoria virtuale dell'archivio di Exchange:

  • Consolidamento dei gruppi di archiviazione
    Il processo Store.exe alloca strutture e utilizza memoria per ogni gruppo di archiviazione. Se è possibile, utilizzare il numero minimo di gruppi di archiviazione sufficienti per soddisfare il contratto di servizio. Questo è più importante per Exchange 2000 di quanto lo sia per Exchange 2003. In Exchange 2003 sono state apportate significative modifiche per ridurre l'incremento dei footprint di memoria virtuale per i gruppi di archiviazione aggiuntivi. Di conseguenza, è estremamente improbabile che il gruppo di archiviazione o la configurazione del database possa rappresentare la causa principale della frammentazione della memoria virtuale in Exchange Server 2003. Per ulteriori informazioni sulla configurazione dei gruppi di archiviazione in Exchange 2003, vedere l'articolo 890699 della Microsoft Knowledge Base "Configurazione dei gruppi di archiviazione in Exchange Server 2003" (https://go.microsoft.com/fwlink/?linkid=3052&kbid=890699).
  • Ridurre i ruoli del server
    Se l'utilizzo della memoria aumenta perché il server svolge più ruoli, ad esempio quello di cartella pubblica e di server di cassette postali, potrebbe essere utile ripartire il carico delle operazioni tra server dedicati.
  • Leggere l'articolo 815372 della Microsoft Knowledge Base
    Per ulteriori informazioni sull'ottimizzazione dell'utilizzo della memoria virtuale, vedere l'articolo 815372 della Microsoft Knowledge Base "Ottimizzazione dell'utilizzo della memoria in Exchange Server 2003" (https://go.microsoft.com/fwlink/?linkid=3052&kbid=815372).