IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration SQL Server Discussion :

SQL Server manque de mémoire


Sujet :

Administration SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    consultant BI
    Inscrit en
    Mai 2011
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suède

    Informations professionnelles :
    Activité : consultant BI
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2011
    Messages : 182
    Par défaut SQL Server manque de mémoire
    bonjour
    Sur un de mes serveur je rencontre du pression mémoire malgré la fixation du valeur max_mémory et min-mémory
    sur ce piste parfois j'ai eu des dégradations de temps d’exécution de quelque requêtes
    pour cela j'ai penser que le plan cache de mes requêtes sont entrain d’être lue depuis le disque et non pas depuis le RAM et que mes data n'est pas entrain d'étre persister en mémoire
    donc comment je peux mesurer L'adéquation RAM/mise en cache et sur quel compteur du performance il est indiquer ???
    et a quel moment je peux constater que mes données sont entrain d’être lue depuis le disque ??
    cordialement

  2. #2
    Membre éprouvé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2013
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Octobre 2013
    Messages : 74
    Par défaut
    Bonjour,
    Pour faire court:
    Le compteur "Page Life Expectancy" est censé donner la durée de vie moyenne d'une page de données dans le cache de données. Sa valeur, exprimée en secondes, permet de savoir s'il existe une pression mémoire sur le cache. On trouvera en général une valeur élevée (disons supérieure à 300 secondes) lorsque "tout va bien", et une valeur très faible indiquera une inadéquation entre la taille du cache et les pages de données brassées.
    Ce compteur peut être collecté via une sesson Performance Monitor, ou via la vue sys.dm_os_performance_counters (counter_name='Page life expectancy')

    Lorsque les pages de données sont rapatriées depuis le disque, la session est en attente sur l'un des événements de type PAGEIOLATCH. Donc via les vues sys.dm_os_waiting_tasks (wait_type like '%PAGEIO%', regarder le nombre de lignes retournées et les valeurs de wait_duration_ms) et sys.dm_os_wait_stats (wait_type like '%PAGEIO%', regarder l'évolution des valeurs de wait_time_ms), vous pourrez savoir si vos sessions passent du temps à brasser des données sur disque.

    Cordialement.

    Benjamin

  3. #3
    Membre éclairé
    Homme Profil pro
    consultant BI
    Inscrit en
    Mai 2011
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suède

    Informations professionnelles :
    Activité : consultant BI
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2011
    Messages : 182
    Par défaut
    ci joint la valeur mesurer sur mon serveur pour le compteur "page life expancty" il varie entre 473s et 73s
    Est t'il forcément prendre l'action d'augmenter du RAM
    Images attachées Images attachées  

  4. #4
    Membre émérite
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2009
    Messages
    623
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Août 2009
    Messages : 623
    Par défaut
    Regarde aussi le compteur Buffer Cache Hit Ratio. Ca montre un signe de pression mémoire. L'action n'est pas forcément de rajouter de la RAM. Par exemple, si tu exécutes des requêtes sur des tables non indexées, il vaut mieux indexer que d'ajouter de la mémoire.

  5. #5
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 22 001
    Billets dans le blog
    6
    Par défaut
    Depuis quand le serveur a t-il redémarré ?

    Pour vous en assurer, faites ;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT create_date
    FROM sys.databases
    WHERE  name = 'tempdb'
    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  6. #6
    Membre éclairé
    Homme Profil pro
    consultant BI
    Inscrit en
    Mai 2011
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suède

    Informations professionnelles :
    Activité : consultant BI
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2011
    Messages : 182
    Par défaut
    Citation Envoyé par SQLpro Voir le message
    Depuis quand le serveur a t-il redémarré ?

    Pour vous en assurer, faites ;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT create_date
    FROM sys.databases
    WHERE  name = 'tempdb'
    A +

    IL S'agit d'un nouveau serveur implémenter en sql2008R2 64bit

    il a travailler pendant 3jours avec une seul database puis dé que le systéme est mis en production on a ajouter 8 base

    la dégradation du temps de compteur "page life expectancy" a été détecter dé qu'on a mis le serveur en production

    pour info j'ai initialiser hiér les paramètres d'attentes du sql
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DBCC SQLPERF('sys.dm_os_wait_stats',clear)
    pour avoir des vrai compteur

    la valeur obtenu était "REQUEST_FOR_DEADLOCK_SEARCH"
    Images attachées Images attachées  

Discussions similaires

  1. Etat sur zone mémoire et SQL Server
    Par Beetle dans le forum WinDev
    Réponses: 4
    Dernier message: 17/10/2007, 08h30
  2. [C# et SQL Server 2005]Erreur mémoire
    Par dtavan dans le forum Accès aux données
    Réponses: 1
    Dernier message: 05/06/2007, 13h01
  3. Trop de mémoire utilisée par SQL Server
    Par sylvie75 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 24/08/2006, 12h46
  4. Mémoire SQL server
    Par YOYOVbSQL dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 18/10/2004, 13h38
  5. Processus Sql Server prend toute la mémoire vive
    Par cracosore dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 19/02/2004, 17h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo