SQL Server 64 bits et AWE

Aujourd’hui j’ai eu une discussion avec un de mes collaborateurs de travail au sujet du mécanisme AWE et des architectures 64 bits SQL Server. Celui-ci me disait que AWE n’était pas nécessaire dans ce cas alors que ce mécanisme peut tout à fait être implémenté sur des architectures 64 bits. Voyons pourquoi.

Une caractéristique du mécanisme AWE est de permettre dans certains cas l’accès plus rapide à la mémoire en empêchant le système d’exploitation de paginer sur disque (swap) les pages SQL Server. De quelle manière ? Le système d’exploitation utilise pour manipuler la mémoire une table des pages (PTE) et gère une base de données de numéros décrivant la structure interne des pages physiques (PFN). Lorsqu’une page est en mémoire physique son PFN est associé à une PTE. Chaque accès par le système d’exploitation verrouille la PTE contre toute modification par un autre processus. Cela signifie qu’une PTE peut être associée à une page qui n’est pas forcément en mémoire. Celle-ci peut être située sur le swap.

Le mécanisme AWE permet une réservation d’un ensemble de PFN associée à une PTE. Ces PTE seront verrouillées à leur acquisition et le verrou sera maintenu empêchant toute modification ou affectation par le système d’exploitation, évitant ainsi la pagination des pages concernées.

Avec SQL Server en architecture 64 bits et en édition Entreprise il suffit simplement de donner le droit Verrouiller les pages en mémoire au compte SQL, soit directement dans les stratégies locales, soit par GPO pour pouvoir bénéficier de cette caractéristique. Attention, l’option de serveur concernant AWE (AWE Enabled) ne sert pas dans ce cas précis. La configuration de cette option est ignorée. Pour que cette modification soit prise en compte pensez à redémarrer le serveur.

La commande DBCC MEMORYSTATUS permet de constater que AWE est maintenant utilisé. Cela s’explique par le fait que l’activation du verrouillage de page en mémoire pour une architecture 64 implique l’utilisation du mécanisme AWE comme pour une architecture 32bits

Bonne optimisation !!

David BARBARIN (Mikedavem)
Elève ingénieur CNAM

Une réflexion au sujet de « SQL Server 64 bits et AWE »

  1. Hello David,

    Ca fait plaisir de voir des DBA au courant de ces choses-là, on a moins l’impression de prêcher dans le désert chez CapData… Effectivement ça fait quelques temps que l’on entend: « mais pourquoi me parlez-vous d’AWE, je suis en 64 bits ? » Tu vois juste. Tony Rogerson (http://sqlblogcasts.com/blogs/tonyrogerson/default.aspx) a eu un client il y a un an et demi qui s’est fait paginer tout le process address space de son instance, il y en avait pour qq dizaines de gigas. Il a fallu aller couper la machine en salle parce qu’elle ne répondait plus du tout. Depuis mon discours c’est 64 bits dédiée = Lock Pages in Memory.

    A+
    David B
    [dbaffaleuf@capdata.fr]
    [www.alldb.fr/blogs]

Laisser un commentaire