Question La mémoire SQL Server augmente constamment, passant de 1 Go à 7 Go en une semaine


J'ai une base de données de ~ 45 Go qui augmente rapidement (~ 1 Go par semaine).

Donc, cela fait beaucoup d'inserts; L'application Web n'a pas beaucoup d'utilisateurs, donc les lectures sont faibles en ce moment.

Mais je remarque que les utilisateurs du serveur RAM de RAM passent d’environ 1 Go à l’utilisation du premier serveur à environ 7 Go de RAM après une semaine.

Y a-t-il une sorte de fuite de mémoire? Un article sur MSDN suggérait que le serveur SQL augmente la mémoire utilisée pour la mise en cache et qu'il continuera à augmenter. Cependant, le serveur ne disposant que de 7,5 Go de RAM, je crains fort que la mémoire ne soit saturée à moins de redémarrer SQL Server toutes les semaines ... ce qui semble erroné.

Est-ce un comportement typique? Existe-t-il des paramètres que je peux définir pour limiter l'utilisation de la mémoire?


8
2017-09-18 21:36


origine


Voir la réponse de Farseeker. Il a mis le doigt sur la tête. Ce comportement est normal, prêt à l'emploi et s'il existe un moyen de limiter l'utilisation de la mémoire SQL; vous n'avez pas vraiment besoin de faire ça. Notre serveur SQL plafonne à 10,5 Go - 11 Go (sur un total de 12 Go) de mémoire en quelques heures. Mon administrateur de base de données et moi-même sommes très heureux lorsque nous voyons du SQL avec autant de mémoire. Cela signifie que nos applications auront accès à ces données beaucoup plus rapidement. - Cypher


Réponses:


Le serveur SQL est conçu pour utiliser autant de RAM que possible. Serveur SQL est également incroyablement intelligent. Nous avons des serveurs de base de données avec une RAM allant de 2 Go à 96 Go et jamais, je n'ai eu à intervenir et à commencer à gérer la RAM manuellement, et la plupart d'entre eux ont une utilisation de 99,5%.

Le fait est que SQL Server fonctionnant avec 1 Go de mémoire consommée sera beaucoup plus lent en lecture qu'un serveur SQL fonctionnant avec 96 Go de mémoire consommée.

Sauf si vous partagez les rôles de serveur SQL avec d'autres rôles gourmands en mémoire, laissez-les simplement. Il n'utilisera jamais plus de mémoire disponible dans le système. Si le taux d'utilisation atteint 99%, il est génial: vous avez créé un cache volumineux et les choses seront désormais plus rapides.


14
2017-09-18 22:25



Merci, je ne savais pas que c'était le comportement attendu et souhaité. Je ferai en sorte de le laisser tranquille alors. - rksprst
@rksprst - tout va bien, il faut s'y habituer. - Mark Henderson♦


En règle générale, vous souhaiterez allouer 1 à 2 Go de RAM à l'OS pour que celui-ci dispose de la RAM nécessaire. SQL Server peut alors disposer du reste de la mémoire.


2
2017-09-19 19:25



Certaines sources de Microsoft recommandent de limiter la mémoire, donc +1. - Sam