INF: À l'aide de DBCC MEMORYSTATUS contrôle de l'utilisation de la mémoire SQL Server

Traductions disponibles Traductions disponibles
Numéro d'article: 271624 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

Sommaire

Résumé

La commande DBCC MEMORYSTATUS fournit un instantané de l'état actuel de la mémoire de SQL Server. La sortie de cette commande est utile pour résoudre les problèmes liés à la consommation de mémoire de SQL Server ou à des erreurs de mémoire insuffisante spécifiques (parmi lesquelles imprimer automatiquement cette sortie dans le journal des erreurs). Support technique Microsoft peuvent également demander que vous exécutez cette commande au cours d'un incident de support spécifiques si vous rencontrez une erreur qui peut-être être associée à une condition de mémoire insuffisante.

Cette commande est destinée à être un outil de diagnostic pour services de support technique Microsoft. Le format de la sortie et le niveau de détail fourni peut faire l'objet de modifications entre versions de pack et produit de service. La fonctionnalité fournie par la commande DBCC MEMORYSTATUS sera probablement remplacée par un mécanisme différent dans les futures versions de produit et cette commande ne fonctionne plus. Aucun avertissement supplémentaire ne sera effectuée avant la modification ou de supprimer cette commande. Par conséquent, les applications qui dépendent de son comportement peut s'interrompre sans avertissement.

La sortie de DBCC MEMORYSTATUS contient sept sections. Cet article décrit certaines des données clées qui peuvent être recueillies à partir de la sortie dans les quatre premières sections. Les sections restantes impliquent des détails d'implémentation propriétaire et ils ne sont pas décrites dans cet article. Services de support technique de Microsoft ne pas répondre aux questions ou fournissent des informations supplémentaires sur la signification des compteurs spécifiques au-delà de ce qui a été fourni dans cet article.

Plus d'informations

Section première

La première section décrit la distribution de tampons de 8 Ko dans le pool de tampons. Il existe une structure de mémoire tampon pour chaque page de 8 Ko potentiels dans le pool de tampons. Cela inclut des pages physiques si Address Windowing Extensions (AWE) est activé. Cette structure contient un certain nombre de bits qui indiquent l'état de la page sous-jacente (c'est-à-dire, si la modification de la page est épinglé, est en cours d'e/S et plus). Cette section détaille le nombre de tampons qui ont des bits d'état spécifique.
Buffer Distribution              Buffers     
------------------------------   ----------- 
Stolen                           241
Free                             95
Procedures                       89
Inram                            0
Dirty                            16
Kept                             0
I/O                              0
Latched                          18
Other                            880

(9 row(s) affected)
				
Stolen. Mémoire volés décrit les tampons sont utilisés pour tri ou pour le hachage d'opérations (espace de travail de requête mémoire) ou pour les tampons utilisés comme une banque de mémoire génériques pour les allocations pour stocker les structures de données interne comme les verrous, contexte de transaction et informations de connexion. Le processus d'écriture différée n'est pas autorisé à vider les tampons volés hors du pool de mémoire tampon.

Libre. Libre fait référence aux tampons validées qui ne sont pas actuellement en cours d'utilisation. Celles-ci sont disponibles pour contenant les données, ou ils ne peuvent être demandées par les autres composants et marqués comme volés.

Procédures. Procédures fait référence aux tampons sont maintenant une procédure stockée en mémoire cache mémoire. Ces tampons contiennent compilés et exécutables plans pour les procédures et de plans mis en cache ad hoc.

Inram. Inram fait référence aux pages pour les tables épinglés ne peut pas être supprimées de la mémoire (épinglé à l'aide de la commande DBCC PINTABLE ou la procédure sp_tableoption stockée).

Données modifiées. Dirty fait référence aux pages de données qui contiennent des modifications qui n'ont pas encore été vidées sur disque.

Conservés. Kept fait référence aux pages temporairement épinglés en mémoire pour les empêcher d'être vidées. Cette valeur n'est pas utilisée dans SQL Server 2000.

I/O. E/S fait référence aux tampons en attente pendant une opération d'e/S en attente. Sur SQL Server 2000, il peut s'agir mappage ou démappage d'une mémoire tampon par le biais de AWE.

Verrouillées. Les tampons de fermeture totale enregistrer le nombre de tampons dans lequel une connexion est un indice de valeur ou est en train de modifier une ligne à partir de la page. Un verrou interne permet de garantir la cohérence physique des données dans la page lorsqu'elle est lu ou modifié, tandis qu'un verrou est utilisé pour garantir la cohérence transactionnelle et logique.

Autres. Il s'agit des pages validées qui ne satisfont pas à un des critères mentionnés plus haut. En règle générale, la majorité des tampons qui répondent à ce critère sont données hachées et pages d'index dans le cache des tampons.

Deuxième section

La seconde section présente certains totaux qui reflètent la taille globale et la création du pool de tampons.
Buffer Counts                  Buffers     
------------------------------ ----------- 
Committed                      1339
Target                         6318
Hashed                         914
InternalReservation            120
ExternalReservation            0
Min Free                       16

(6 row(s) affected)
				
Commis. Nombre total de mémoires tampons qui ont été enregistrées dans Microsoft Windows NT. La valeur validé est en cours "taille" du pool de tampons. Cette valeur inclut la mémoire physique qui est allouée si AWE est activée.

Cible. La cible commis count ou quelle taille, le pool de tampons souhaite être. Si le compte cible est supérieur à la valeur validées, le pool de tampons augmente. Si le compte cible est inférieure à la valeur validées, le pool de tampons compresse actuellement. Le processus d'écriture différée utilise cette valeur pour déterminer s'il faut augmenter ou réduire le pool de tampons.

Haché. Nombre de pages de données et d'index sont stockés dans le pool de tampons.

RéservationInterne. Le nombre de pages qui conserve le pool de tampons pour lui-même. La valeur RéservationInterne est le nombre minimal de pages qui sont nécessaires pour satisfaire les demandes de données simple pour le nombre actuel d'utilisateurs.

RéservationExterne. Le nombre de pages ont été réservés pour les requêtes qui va effectuer un tri ou une opération de hachage mais qui ont été pas encore volé. Ce champ est utilisé comme indication pour l'outil d'écriture différée qu'il y aura une exigence à venir pour une grande quantité de mémoire.

Min libre. Le nombre de pages que le pool de tampons essaie de conserver sur la liste libre. Si la liste libre est inférieure à la valeur Min libre, le pool de tampons tente de remplir la liste libre en supprimant les anciennes pages du cache de données ou procédures anciens à partir du cache de procédure.

Troisième section

La troisième section décrit la composition du cache de procédure.
Procedure Cache                Value       
------------------------------ ----------- 
TotalProcs                     17
TotalPages                     89
InUsePages                     40

(3 row(s) affected)
				
TotalProcs. Nombre total d'objets mis en cache actuellement dans le cache de procédure. Cette valeur correspond au nombre d'entrées dans la table virtuelle syscacheobjects. Vous pouvez utiliser l'Analyseur de performances pour analyser l'objet SQL Server : Cache Manager pour une ventilation détaillée du type des objets mis en cache--pour exemple, des déclencheurs, procédures et ad hoc.

TotalPages. Nombre cumulé de pages dont vous avez besoin pour stocker tous les objets mis en cache.

PagesUtilisées. Le nombre de pages dans le cache de procédure qui appartiennent à des procédures en cours d'exécution. Il ne peut pas être ignorées.

Quatrième section

La quatrième section décrit la distribution relative des mémoires tampons volés entre les groupes de composants principaux dans le serveur. SQL Server implémente ses propres gestionnaires de mémoire qui utilisent des pages de réserve de mémoire tampon pour les affectations de petites quantités et qui y revenir aux routines de système d'exploitation uniquement pour les allocations de taille supérieure à environ 8 Ko. Ces allocations de plus grandes sont situent en dehors du pool de tampons et elles sont communément appelé allocations à partir de la zone MemToLeave. La taille de cette zone peut être contrôlée à l'aide la -g option de ligne de commande.

En règle générale, la majorité des allocations de mémoire à partir de MemToLeave sont auprès des consommateurs de mémoire non SQL Server qui sont en cours d'exécution de processus comme objets COM, les procédures stockées étendues et les serveurs liés. Les valeurs liées au système d'exploitation sont signalées dans DBCC MEMORYSTATUS ne refléter que les allocations MemToLeave qui sont effectuées directement par SQL Server. Les autres allocations qui se produisent dans MemToLeave de ces autres composants ne sont pas incluses car SQL Server n'a pas connaissance de ces demandes de mémoire.
Dynamic Memory Manager         Buffers     
------------------------------ ----------- 
Stolen                         330
OS Reserved                    152
OS Committed                   138
OS In Use                      129
General                        322
QueryPlan                      87
Optimizer                      0
Utilities                      10
Connection                     40

(9 row(s) affected)
				
Volé. Nombre total de buffers volé dans le pool de tampons par les gestionnaires de cinq mémoire (général, plan de requête, Optimizer, utilitaires, connexion). Ces pages sont utilisés pour les allocations de mémoire dont la taille sont inférieure à 8 Ko de service.

Système d'exploitation réservés. Le nombre de pages réservées du système d'exploitation pour gérer les demandes d'allocation dont la taille sont supérieure à environ 8 Ko.

Système d'exploitation validés. La quantité de mémoire dans les régions réservées qui a été validée. La valeur Du système d'exploitation validés doit être inférieure ou égale à la valeur OS réservés parce que tampons sont tout d'abord réservés et puis validées. Certaines de la mémoire peuvent être rendues non valides lorsqu'il est plus utilisé.

Remarque Il existe un bogue dans SQL Server 2000 (qui est résolu dans SQL Server 2000 Service Pack 3) qui provoque cette valeur de ne pas être maintenue avec précision et par conséquent, il peut être en dehors de la plage valide.

Système d'exploitation en cours d'utilisation. Les tampons Du système d'exploitation validés sont sauvegarde actuellement les allocations de mémoire en attente.

Général. Mémoire utilisée par les consommateurs de mémoire générale dans le serveur, y compris l'analyse ou de normalisation, verrous, de contexte de transaction, les structures de données décrivant les métadonnées en mémoire pour les tables et index et d'autres utilisateurs internes. Cette valeur est le nombre total de buffers de 8 Ko. Certains d'entre eux peuvent être volés tampons à partir du pool de mémoire tampon et d'autres peuvent être de MemToLeave.

QueryPlan. Mémoire utilisée pour stocker les plans de requête, transiently ou dans le cache. Cette valeur est le nombre total de buffers de 8 Ko. Certains d'entre eux peuvent être volés tampons à partir du pool de mémoire tampon et d'autres peuvent être de MemToLeave.

Optimiseur. Mémoire qui est utilisé par l'optimiseur de requêtes. Cette valeur est le nombre total de buffers de 8 Ko. Certains d'entre eux peuvent être volés tampons à partir du pool de mémoire tampon et d'autres peuvent être de MemToLeave.

Utilitaires. Mémoire utilisée par les différentes routines utilitaires telles que BCP, Gestionnaire de journal, requêtes en parallèle, :: fn_trace_gettable et d'autres. Cette valeur est le nombre total de buffers de 8 Ko. Certains d'entre eux peuvent être volés tampons à partir du pool de mémoire tampon et d'autres peuvent être de MemToLeave.

Connexion. Mémoire qui est utilisé pour stocker les structures de données contenant le contexte de connexion pour chaque connexion utilisateur. Également, cela inclut la mémoire pour l'envoi de réseau et tampons sont associés à une connexion de réception. Cette valeur est le nombre total de buffers de 8 Ko. Certaines de ces peuvent être volés tampons à partir du pool de tampons et d'autres qui peuvent être de MemToLeave.

Références

Documentation en ligne de SQL Server
Delaney, Kalen. Interne Microsoft SQL Server 2000, Microsoft Press, 2000.

Propriétés

Numéro d'article: 271624 - Dernière mise à jour: mercredi 12 novembre 2003 - Version: 4.3
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft SQL Server 2000 Standard
  • Microsoft SQL Server 7.0 Standard
Mots-clés : 
kbmt kbinfo KB271624 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 271624
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com