février
2011
–> Architecture 32 bits (x86)
Un OS 32 bits peut adresser de façon standard un maximum de 4Go de mémoire. Les commutateurs /3GB, /PAE, AWE peuvent permettent à un processus utilisateur 32 bits (SQL Server par exemple) hébergé sur un OS 32 bits d’utiliser une mémoire maximale de 64 Go.
–> Architecture 64 bits (x64 et IA64)
Pour une plateforme 64 bits(x64 et IA64), la quantité de mémoire adressable par un OS 64 bits est variable et est supérieure à 4 Go. Un processus utilisateur 64 bits (x64)hébergé sur une plateforme 64 bits peut utiliser une mémoire maximale de 8192 Go (7152 Go pour un processus 64 bits IA64).
Par exemple :
Windows Server 2003 R2 Enterprise Edition (x64) peut adresser jusqu’à 1 To
Windows Server 2003 SP2 Enterprise Edition (IA64 )peut adresser jusqu’à 2To
Pour plus d’info
Les commutateurs /3GB, /PAE, AWE permettent de configurer la RAM en fonction d’une part des versions et des architectures (OS et SQL Server) et d’autre part de la quantité de mémoire RAM disponible sur la machine. Le commutateur USERVA étant utilisé pour des cas très spécifiques, nous n’allons pas l’évoquer dans les différentes configurations
Quelles sont les versions, éditions et architectures de l’OS et de SQL SERVER ?
SELECT @@VERSION
Quelles sont les quantités de mémoire physique et mémoire virtuelle (utisateur) sur le SGBD ?
SELECT physical_memory_in_bytes AS[Quantité de mmoire physique disponible]
, virtual_memory_in_bytes AS[Quantité de mmoire virtuelle dont dispose le processus en mode utilisateur]
FROM sys.dm_os_sys_info
Une fois ces informations connues on peut vérifier si la mémoire est bien configurée sur le serveur de base de données en se basant sur le tableau ci-dessous.
OS |
SQL Server |
Quantité totale mémoire sur la machine (Go) |
/3GB |
/PAE |
AWE |
Commentaires |
32 bits |
32 bits |
<= 3 |
Non |
Non |
Non |
Pas assez de mémoire pour envisager d’autres possibilités |
32 bits |
32 bits |
> 3 et <=4 |
Oui |
Non |
Non |
/3GB permet à SQL Server d’utiliser une mémoire proche de Go |
32 bits |
32 bits |
> 4 et <= 16 |
Oui |
Oui |
Oui |
/3GB, /PAE et AWE permettent à SQL Server d’utiliser une mémoire supérieure à 3 Go |
32 bits |
32 bits |
> 16 |
Non |
Oui |
Oui |
L’activation de /3GB limite l’utilisation de mémoire du système. Le système ne peut pas utiliser une mémoire supérieure à 16 Go. C’est pourquoi il ne faut utiliser dans ce cas l’option /3GB |
64 bits |
32 bits |
<= 4 |
Non |
Non |
Non |
* Pas besoin de /3GB parce que sur un OS 64 bits un processus utilisateur 32 bits (SQL Server par exemple) peut adresser jusqu’à 4Go de mémoire sans problème * Pas besoin de PAE parce que l’OS 64 bits peut adresser plus de 4Go de RAM. |
64 bits |
32 bits |
> 4 |
Non |
Non |
Oui |
Il faut activer AWE pour permettre à SQL Server d’utiliser une mémoire supérieure à 4 Go et inférieure à 64 Go. Car un processus utilisateur 32 bits ne peut utiliser qu’une mémoire maximale de 64 Go. |
64 bits |
64 bits |
Non |
Non |
Non |
SQL peut adresser jusqu’à 8192 Go de mémoire par défaut. Donc pas de configuration spéciale pour la RAM. |
Comment mettre en oeuvre /3GB , /PAE et AWE ?
——————————————————————————–
Etienne ZINZINDOHOUE
——————————————————————————–