0 votes

SQL SERVER 2008 - Fuite de mémoire lors du stockage de millions d'enregistrements

J'ai vraiment besoin d'aide. Je travaille sur un projet où une grande quantité de données est saisie en permanence. Il s'agit d'un logiciel de reporting.

En moyenne, 10 millions d'enregistrements sont stockés par jour et ce chiffre pourrait continuer à augmenter avec l'accroissement du nombre d'utilisateurs.

A l'heure actuelle, SQL SERVER CONSOMME 5gb de RAM dans le gestionnaire de tâches. J'ai une mémoire vive de 8GB sur mon serveur.

Comment les autres entreprises gèrent-elles ces situations ?

6voto

gbn Points 197263

SQL Server utilise la mémoire de manière efficace et en prend autant que possible. Il est généralement assez intelligent pour libérer de la mémoire lorsque cela est nécessaire.

L'utilisation de 5GB signifie :

  • SQL Server est configuré pour 5GB ou SQL Server a simplement réservé cette mémoire lors d'une utilisation normale.
  • Il a laissé 3GB parce qu'il n'a pas besoin de l'utiliser

Il n'y a rien d'anormal... et je configurerais probablement la mémoire maximale du serveur SQL à 6,5 Go...

Ajout tardif : Article du blog de Jonathan Kehayias

5voto

Bravax Points 7698

Le serveur SQL utilise généralement autant de mémoire qu'il le peut, car il stocke ensuite les données les plus fréquemment consultées en mémoire pour être plus efficace, l'accès au disque étant plus lent que l'accès à la mémoire.

Il n'y a donc rien d'anormal à ce qu'il utilise 5 Go de mémoire.
Pour être honnête, cela laisse 3gb de mémoire pour d'autres applications et le système d'exploitation, donc il n'y a peut-être rien de mal à cela. (Si c'est tout ce que ce serveur est conçu pour faire).

Pour configurer la limite de mémoire, procédez comme suit :

  • Dans le gestionnaire de SQL Server Enterprise, cliquez avec le bouton droit de la souris sur le nom du serveur et allez dans Propriétés.
  • Cliquez sur l'option Mémoire
  • Réduisez la mémoire maximale du serveur à ce que vous jugez approprié.
  • Cliquez sur ok.

2voto

Razzie Points 14705

Je doute fortement qu'il s'agisse d'une fuite de mémoire. L'augmentation de l'utilisation de la mémoire par SQL Server est intentionnelle, simplement parce qu'il met en cache beaucoup de choses (requêtes, procédures). Ce que vous verrez très probablement, c'est que si la mémoire disponible qui reste est faible, le serveur SQL va "vider" sa mémoire, et vous verrez en fait que la mémoire sera libérée à la fin.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X