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

MS SQL Server Discussion :

Consommation mémoire SQL Server


Sujet :

MS SQL Server

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 202
    Points : 43
    Points
    43
    Par défaut Consommation mémoire SQL Server
    Bonjour,

    A force d'insérer des données en masse, SQL Server bouffe quasi toute la RAM disponible (90%). J'ai pris un serveur disposant du double de RAM. Avec les mêmes données, il bouffe toujours 90%. Si je lui donne 20 Go de RAM, je suis sur qu'il va bouffer 90% de 20 GO !

    Du coup ça se met à ramer. Après un rédémarrage du service SQL Server, tout redevient ok.

    J'ai l'impression que c'est une sorte de cache qui pose problème et je sais pas comment on règle tout ça...
    Si quelqu'un a une idée, je suis preneur.

    Pour info, je n'utilise pas de procédures stockées, juste des requêtes d'insertion et de select (grosses requêtes quand même).
    Les connexions ouvertes sont bien refermées proprement donc je ne vois pas de fuite de mémoire de mon coté

    Merci d'avance

  2. #2
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Bonjour,

    J'ai l'impression que c'est une sorte de cache qui pose problème et je sais pas comment on règle tout ça...
    C'est effectivement le cas.
    En fait SQL Server essaie autant que c'est possible de travailler en RAM, puisque son accès est au moins 1000 fois plus rapide qu'un accès disque.
    En conséquence il prend la mémoire pour stocker les données de votre base de données.
    Donc si votre base de données à une taille qui dépasse celle de la RAM disponible sur votre machine, les problèmes de performances s'aggraveront au fur et à mesure que votre base de données va vivre.

    Il vous faut donc considérer l'optimisation de vos procédures et l'indexation de vos tables.
    SQL Pro a publié un très bon article là-dessus ici.

    Enfin, SQL Server ne rend jamais la RAM qu'il a prise sauf si l'OS le lui "demande".
    Arrêter le service SQL Server purge le cache, donc lorsque vous redémarrez le service et exécutez une requête, toutes les données vont être lues à partir des fichiers de données pour être traités en RAM.
    Donc vos requêtes sont lentes

    @++

  3. #3
    Membre chevronné

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2007
    Messages
    1 216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Août 2007
    Messages : 1 216
    Points : 1 758
    Points
    1 758
    Par défaut
    Si vous souhaitez limiter l'utilisation de RAM de votre serveur SQL, vous pouvez commencer par lui definir le maximum de RAM qu'il peut utiliser - exemple pour limiter la ram a 3GB:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    sp_configure 'max server memory (MB)', 3072
    RECONFIGURE

  4. #4
    Membre chevronné Avatar de Jinroh77
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2006
    Messages
    1 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Février 2006
    Messages : 1 964
    Points : 2 145
    Points
    2 145
    Par défaut
    Petite question, si on ne limite pas à 3072 mais plutôt 3000 est-ce que le fait que cela ne représente pas 3Go, un chiffre rond pour lui, peut déranger quelque part ?

  5. #5
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    @Ptit_Dje : OK mais parfois SQL Server outrepasse cette limite ...

    @Jinroh77 : Non

    @++

  6. #6
    Membre chevronné Avatar de Jinroh77
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2006
    Messages
    1 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Février 2006
    Messages : 1 964
    Points : 2 145
    Points
    2 145
    Par défaut
    Citation Envoyé par elsuket Voir le message
    @Jinroh77 : Non
    Merci pour la précision

  7. #7
    Membre chevronné

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2007
    Messages
    1 216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Août 2007
    Messages : 1 216
    Points : 1 758
    Points
    1 758
    Par défaut
    Citation Envoyé par elsuket Voir le message
    @Ptit_Dje : OK mais parfois SQL Server outrepasse
    Ah oui ?
    Dans quels cas ?

  8. #8
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ain (Rhône Alpes)

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

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Points : 12 891
    Points
    12 891
    Par défaut
    Effectivement certains composants internes et externes peuvent allouer de la mémoire en dehors du seuil paramètre avec l'option Max server memory.

    Ce paramètre ne limite que la partie buffer des données qui représentent quand même la majorité de la mémoire consommée. :-)

    ++

  9. #9
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    bonjour
    Citation Envoyé par boby62423 Voir le message
    Du coup ça se met à ramer.
    Qu'est ce qui se met à ramer ?

    Après un rédémarrage du service SQL Server, tout redevient ok.
    Si par "tout redevient ok", vous voulez dire que ça ne rame plus, ceci me fait penser que vous parlez d'autres applications sur le même serveur qui rament !
    Ne pouvez-vous pas dédier un serveur pour SQL, et mettre vos autres applications sur un autre serveur ?

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