Un client me signale que son SQL server 2000 sur serveur W2000 ne libere pas
les ressources memoire correctement
Au bout d'une semaine il finit par monopoliser toutes les ressources du
serveur.
Il me dit que le phenomene est identique avec Exchange 2000
J'ai deja fait des recherches sans reel succes
Je ne sais pas trop comment resoudre son probleme donc si quelqu'un a une
idee, je suis preneur
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Fred BROUARD
Bonjour,
Mamba a écrit:
Bonjour,
Un client me signale que son SQL server 2000 sur serveur W2000 ne libere pas les ressources memoire correctement Au bout d'une semaine il finit par monopoliser toutes les ressources du serveur. Il me dit que le phenomene est identique avec Exchange 2000 J'ai deja fait des recherches sans reel succes Je ne sais pas trop comment resoudre son probleme donc si quelqu'un a une idee, je suis preneur
C'est le comportement normal et justifié de MS SQL Server.
En effet, tant qu'il y a de la mémoire et que SQL Server en a besoin, il va la prendre pour mettre en cache procédures et données. SQL Server devant en principe être installé sur un serveur dédié, aucune autre application ne doit figurer sur ce serveur dans cette config. Seul l'OS en cas de stress mémoire est autorisé à demander à SQL Server de restituer de la mémoire. Ce qui veut dire que toute application concurrente, peut se voir "manger" sa mémoire. SQL Server n'a aucun intérêt à libérer de la mémoire. Son algorithme de mise en cache est "LRU". Il remplacera donc les éléments du cache les moins vu par de plus récentes infos.
A +
Merci
-- Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com Audit, conseil, expertise, formation, modélisation, tuning, optimisation ********************* http://www.datasapiens.com ***********************
Bonjour,
Mamba a écrit:
Bonjour,
Un client me signale que son SQL server 2000 sur serveur W2000 ne libere pas
les ressources memoire correctement
Au bout d'une semaine il finit par monopoliser toutes les ressources du
serveur.
Il me dit que le phenomene est identique avec Exchange 2000
J'ai deja fait des recherches sans reel succes
Je ne sais pas trop comment resoudre son probleme donc si quelqu'un a une
idee, je suis preneur
C'est le comportement normal et justifié de MS SQL Server.
En effet, tant qu'il y a de la mémoire et que SQL Server en a besoin, il va la
prendre pour mettre en cache procédures et données.
SQL Server devant en principe être installé sur un serveur dédié, aucune autre
application ne doit figurer sur ce serveur dans cette config.
Seul l'OS en cas de stress mémoire est autorisé à demander à SQL Server de
restituer de la mémoire.
Ce qui veut dire que toute application concurrente, peut se voir "manger" sa
mémoire.
SQL Server n'a aucun intérêt à libérer de la mémoire.
Son algorithme de mise en cache est "LRU". Il remplacera donc les éléments du
cache les moins vu par de plus récentes infos.
A +
Merci
--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
Un client me signale que son SQL server 2000 sur serveur W2000 ne libere pas les ressources memoire correctement Au bout d'une semaine il finit par monopoliser toutes les ressources du serveur. Il me dit que le phenomene est identique avec Exchange 2000 J'ai deja fait des recherches sans reel succes Je ne sais pas trop comment resoudre son probleme donc si quelqu'un a une idee, je suis preneur
C'est le comportement normal et justifié de MS SQL Server.
En effet, tant qu'il y a de la mémoire et que SQL Server en a besoin, il va la prendre pour mettre en cache procédures et données. SQL Server devant en principe être installé sur un serveur dédié, aucune autre application ne doit figurer sur ce serveur dans cette config. Seul l'OS en cas de stress mémoire est autorisé à demander à SQL Server de restituer de la mémoire. Ce qui veut dire que toute application concurrente, peut se voir "manger" sa mémoire. SQL Server n'a aucun intérêt à libérer de la mémoire. Son algorithme de mise en cache est "LRU". Il remplacera donc les éléments du cache les moins vu par de plus récentes infos.
A +
Merci
-- Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com Audit, conseil, expertise, formation, modélisation, tuning, optimisation ********************* http://www.datasapiens.com ***********************
BVesan
Après cette réponse expliquant que dans les règles de l'art une instance SQL Server n'aime pas partager, j'ajoute un semblant de solution à votre problème: Si effectivement l'instance ne va pas libérer automatiquement la mémoire qu'elle s'est allouée, il est tout à fait possible de forcer une limite supérieure à cette mémoire. Via l'outil Enterprise Manager, utilisez simplement l'onglet Mémoire des Propriétés de votre instance, et fixez au choix la valeur maximum de la mémoire allouable ou sa valeur fixe.
Benjamin
Après cette réponse expliquant que dans les règles de l'art une instance SQL
Server n'aime pas partager, j'ajoute un semblant de solution à votre problème:
Si effectivement l'instance ne va pas libérer automatiquement la mémoire
qu'elle s'est allouée, il est tout à fait possible de forcer une limite
supérieure à cette mémoire. Via l'outil Enterprise Manager, utilisez
simplement l'onglet Mémoire des Propriétés de votre instance, et fixez au
choix la valeur maximum de la mémoire allouable ou sa valeur fixe.
Après cette réponse expliquant que dans les règles de l'art une instance SQL Server n'aime pas partager, j'ajoute un semblant de solution à votre problème: Si effectivement l'instance ne va pas libérer automatiquement la mémoire qu'elle s'est allouée, il est tout à fait possible de forcer une limite supérieure à cette mémoire. Via l'outil Enterprise Manager, utilisez simplement l'onglet Mémoire des Propriétés de votre instance, et fixez au choix la valeur maximum de la mémoire allouable ou sa valeur fixe.