Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

SQL Server : Comment empêcher Windows de paginer la mémoire du serveur SQL ?

Windows est en charge de la pagination de mémoire du système. Lorsque l'OS constate un manque de mémoire, il prévient les différents programmes de la situation, puis pagine certaines portions de mémoire (c'est-à-dire qu'il les déplace de la mémoire physique vers le fichier d'échange sur le disque). L'intérêt est évident pour des applications classiques qui risqueraient de se retrouver à court de mémoire et de plus pouvoir s'exécuter.

Pour SQL Server la situation est plus complexe. Il dispose de son propre gestionnaire de mémoire, mais c'est tout de même Windows qui paginera son espace mémoire en cas de manque de celle-ci sur le système. Le problème est que SQL Server est très gourmand en mémoire pour ses caches et à besoin que l'accès à ceux-ci soit rapide. Or sa une zone de mémoire est paginé, les performances se dégradent. SQL Server n'a aucun moyen de demander à « dépaginer » la zone de mémoire que Windows à paginé, le problème peut persister ainsi longtemps.

Il existe cependant des solutions empêchant Windows de paginer la zone de mémoire de SQL Server.

  • En 32 bits « AWE enabled »
    Activer l'AWE d'utiliser plus de 2 Go de mémoire sur un serveur SQL, mais permet aussi de « bloquer » la zone de mémoire utilisé par le serveur et interdit Windows de paginer celle-ci. Ce paramètre est dans les propriétés du serveur SQL.
  • En 64 bits « Lock Page in Memory »
    Sous SQL Server 2005 Enterprise Edition uniquement en 64 bits, il est possible d'accorder sous Windows le droit « Lock Page in Memory » au compte de service de SQL Server. Cela permettra à SQL Server de verrouiller les pages en mémoire, empêchant ainsi Windows de les déplacer à son insu sur le disque. Ce droit s'accorde au niveau Windows dans les « Local Policies » (Local Security Policies)

A noter que l'activation de « AWE enabled » sur un système 64 bits n'a absolument aucun effets, il ne sert qu'en 32 bits.

Attention à ne pas dans cette configuration à bien régler la quantité de mémoire utilisée par le serveur (je vous conseille de la laisser en dynamique) pour éviter que Windows ou toute application tierces sur le même serveur se trouve à court de mémoire.

Bonne mémoire…

Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :
Publié samedi 12 mai 2007 18:59 par christian
Classé sous : ,

Commentaires

Pas de commentaires
Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- Merci par Blog de Jérémy Jeanson le 10-01-2019, 20:47

- Office 365: Script PowerShell pour auditer l’usage des Office Groups de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 11:02

- Office 365: Script PowerShell pour auditer l’usage de Microsoft Teams de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 10:39

- Office 365: Script PowerShell pour auditer l’usage de OneDrive for Business de votre tenant par Blog Technique de Romelard Fabrice le 04-25-2019, 15:13

- Office 365: Script PowerShell pour auditer l’usage de SharePoint Online de votre tenant par Blog Technique de Romelard Fabrice le 02-27-2019, 13:39

- Office 365: Script PowerShell pour auditer l’usage d’Exchange Online de votre tenant par Blog Technique de Romelard Fabrice le 02-25-2019, 15:07

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Stream Portal par Blog Technique de Romelard Fabrice le 02-21-2019, 17:56

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Video Portal par Blog Technique de Romelard Fabrice le 02-18-2019, 18:56

- Office 365: Script PowerShell pour extraire les Audit Log basés sur des filtres fournis par Blog Technique de Romelard Fabrice le 01-28-2019, 16:13

- SharePoint Online: Script PowerShell pour désactiver l’Option IRM des sites SPO non autorisés par Blog Technique de Romelard Fabrice le 12-14-2018, 13:01