Condividi tramite


Opzione awe enabled

In Microsoft SQL Server è possibile utilizzare l'API AWE (Address Windowing Extensions) per consentire l'accesso alla memoria fisica oltre i limiti impostati sulla memoria virtuale configurata. La quantità di memoria utilizzabile dipende dalla configurazione hardware e dal supporto fornito dal sistema operativo. Con l'introduzione dei sistemi operativi MicrosoftWindows Server 2003, la quantità di memoria fisica supportata è aumentata. La memoria fisica alla quale AWE ha accesso dipende dal sistema operativo in uso.

  • Windows Server 2003 Standard Edition supporta fino a 4 GB di memoria fisica.

  • Windows Server 2003 Enterprise Edition supporta fino a 32 GB di memoria fisica.

  • Windows Server 2003 Datacenter Edition supporta fino a 64 GB di memoria fisica.

[!NOTA]

AWE non è necessario e non può essere configurato con sistemi operativi a 64 bit.

Considerazioni sull'utilizzo

Prima di attivare AWE, prendere in considerazione le linee guida specifiche del sistema operativo in uso indicate di seguito:

Windows 2000

  • Se la memoria fisica disponibile è inferiore al limite configurato impostato nello spazio degli indirizzi della memoria virtuale, la memoria mappata AWE non può essere attivata. In questo caso la memoria viene allocata in modo dinamico e SQL Server viene eseguito in modalità non AWE, indipendentemente dall'impostazione dell'opzione awe enabled.

  • Se la memoria fisica disponibile è maggiore della memoria virtuale accessibile, è possibile attivare la memoria mappata AWE. In questo caso, si verificano le due condizioni seguenti:

    • Se la memoria fisica disponibile è superiore al valore dell'opzione max server memory, l'istanza di SQL Server blocca la quantità di memoria specificata in max server memory.

    • Se la memoria fisica disponibile è inferiore al valore dell'opzione max server memory o se l'opzione max server memory non è stata impostata, l'istanza di SQL Server blocca tutta la memoria disponibile tranne 128 MB.

  • La memoria mappata AWE non viene rilasciata fino alla chiusura di SQL Server. Microsoft consiglia, quando si attiva AWE, di impostare un valore per l'opzione max server memory che tenga in considerazione i requisiti di memoria di altre applicazioni in esecuzione nel server.

Windows Server 2003

  • SQL Server supporta l'allocazione dinamica della memoria mappata AWE in Windows Server 2003. AWE estende le funzionalità delle applicazioni eseguite in sistemi operativi a 32 bit consentendo l'accesso alla memoria fisica disponibile oltre i limiti impostati nel relativo spazio degli indirizzi della memoria virtuale.

  • Durante l'avvio, SQL Server riserva solo una piccola parte della memoria mappata AWE. Man mano che si rende necessaria memoria mappata AWE aggiuntiva, il sistema operativo la alloca in modo dinamico a SQL Server. Analogamente, se sono necessarie meno risorse, SQL Server può restituire memoria mappata AWE al sistema operativo, per l'utilizzo da parte di altri processi o applicazioni. Il bilanciamento tra SQL Server e il sistema operativo è soggetto ai vincoli dei parametri min server memory e max server memory.

  • Quando si esegue SQL Server con Windows Server 2003, SQL Server risponde alle modifiche apportate alle opzioni di configurazione max server memory e min server memory senza che sia necessario il riavvio dell'istanza di SQL Server. Per ulteriori informazioni su min server memory e max server memory, vedere Opzioni per la memoria server.

  • In Windows Server 2003 la memoria mappata AWE dinamica è supportata nei server con memoria fisica inferiore al limite configurato nello spazio degli indirizzi della memoria virtuale. Quando si utilizza AWE in base a questa condizione non si verificano conseguenze sulle prestazioni, ma quando si aggiunge memoria fisica oltre il limite dell'indirizzo della memoria virtuale è possibile utilizzarla senza riavviare il server.

In Windows 2000 e Windows Server 2003 non è possibile eseguire lo swapping della memoria AWE nei file di paging. È dunque necessario determinare la quantità di memoria allocabile alle istanze di SQL Server identificando la quantità di memoria disponibile dopo l'avvio di tutte le altre applicazioni che verranno utilizzate nel computer.

Utilizzare il contatore di SQL ServerMemoria totale server (KB) in Monitor di sistema per determinare la quantità di memoria allocata dall'istanza di SQL Server eseguita in modalità AWE. Configurare l'opzione max server memory in modo da lasciare libera ulteriore memoria per le possibili esigenze di altre applicazioni, quali Windows 2000 e Windows Server 2003. Per ulteriori informazioni, vedere Monitoraggio dell'utilizzo della memoria.

Nota importanteImportante

L'utilizzo concomitante dell'opzione awe enabled e dell'impostazione max server memory può influire negativamente sulle prestazioni di altre applicazioni o di SQL Server se eseguito in un ambiente cluster o con istanze multiple. Per ulteriori informazioni sull'utilizzo della memoria mappata AWE, vedere Gestione della memoria per database di grandi dimensioni.

Attivazione di AWE

Per attivare AWE, impostare awe enabled su 1. In Windows 2000, se non è stato specificato un valore per max server memory, SQL Server riserva quasi tutta la memoria disponibile durante l'avvio, lasciando 128 MB di memoria fisica o un valore inferiore per altre applicazioni. Quando l'opzione AWE non è attivata, è possibile controllare la quantità di memoria fisica lasciata a disposizione delle altre applicazioni tramite l'impostazione max server memory. In Windows Server 2003 la gestione della memoria mappata AWE è dinamica. Solo una piccola parte della memoria fisica totale disponibile viene pertanto allocata all'avvio.

Se l'opzione è attivata, all'avvio dell'istanza di SQL Server viene scritto un messaggio relativo all'attivazione dell'estensione AWE nel log degli errori di SQL Server.

[!NOTA]

Prima dell'attivazione di AWE è necessario concedere l'autorizzazione LOCK PAGE IN MEMORY all'account di SQL Server. Per ulteriori informazioni, vedere Procedura: Attivazione dell'opzione Blocco di pagine in memoria (Windows).

awe enabled è un'opzione avanzata. Se per modificarne l'impostazione si utilizza la stored procedure di sistema sp_configure, sarà possibile modificare awe enabled soltanto quando show advanced options è impostata su 1. Per rendere effettive le modifiche, è necessario riavviare l'istanza di SQL Server.

Esempio

Nel codice di esempio seguente viene illustrato come attivare AWE e configurare min server memory su 1 GB e max server memory su 6 GB:

Innanzitutto, attivare AWE:

sp_configure 'show advanced options', 1
RECONFIGURE
GO
sp_configure 'awe enabled', 1
RECONFIGURE
GO

Dopo il riavvio di SQL Server, nel log degli errori di SQL Server viene visualizzato il seguente messaggio: Address Windowing Extensions enabled.

Configurare quindi la memoria:

sp_configure 'min server memory', 1024
RECONFIGURE
GO
sp_configure 'max server memory', 6144
RECONFIGURE
GO

Nell'esempio precedente relativo a SQL Server e Windows Server 2003 le impostazioni della memoria consentono al pool di buffer di eseguire la gestione dinamica della memoria mappata AWE tra 1 GB e 6 GB. Questo esempio di gestione dinamica della memoria AWE non si applica a SQL Server 2000. Se altre applicazioni richiedono memoria aggiuntiva, SQL Server può rilasciare la memoria mappata AWE allocata non necessaria. Nell'esempio è possibile il rilascio della memoria mappata AWE solo fino a un massimo di 1 GB, il limite di memoria minima impostato per il server.

Si noti che impostare l'opzione min server memory su 1 GB non forza automaticamente l'acquisizione di 1 GB di memoria da parte di SQL Server. La memoria verrà allocata su richiesta, in base al carico di lavoro corrente del server di database.

Disattivazione di AWE

Per disattivare AWE, impostare awe enabled su 0 ed eseguire l'istruzione RECONFIGURE. La memoria AWE è disattivata per impostazione predefinita. Il log degli errori di SQL Server registra la modifica all'opzione awe enabled. Dopo il riavvio, SQL Server opera in una normale modalità di allocazione dinamica della memoria. La memoria disponibile è limitata allo spazio degli indirizzi virtuale o alla memoria fisica, a seconda del valore minore.