J'aimerais avoir votre avis là-dessus. J'ai un serveur sql 2008r2 Ent. Ed. 64 bits avec 16 cœurs et 64 Go de RAM. Il existe une instance de SQL Server entièrement corrigée à partir de 20111014.
Le ram max est réglé sur 60000 Mo. Le nombre de ram gratuits est de 0 selon le gestionnaire de tâches après quelques jours en ligne.
Si je modifie le ram max en dessous de 53 Go, il se stabilisera après quelques jours et aura un ram gratuit.
C'est le processus sql qui alloue le ram selon le gestionnaire de tâches. Comment puis-je comprendre quel est réellement le problème? Il va sans dire que j'ai déjà fait beaucoup de tests mais que je n'ai pas encore résolu cela à mon goût. et ohh nous n'obtenons pas le retard de famine typique lorsque le ram disponible est à 0 libre.
Mise à jour 1:
Inspiré par un autre Q / A lié à la RAM sur cette page /dba//a/7062/2744 . J'ai utilisé ces deux pour voir à quoi sert la RAM.
SELECT TOP ( 10 )
[type] AS [Memory Clerk Type] ,
SUM(single_pages_kb) AS [SPA Mem, Kb]
FROM sys.dm_os_memory_clerks
GROUP BY [type]
ORDER BY SUM(single_pages_kb) DESC
OPTION ( RECOMPILE ) ;
SELECT DB_NAME(database_id) AS [Database Name] ,
COUNT(*) * 8 / 1024.0 AS [Cached Size (MB)]
FROM sys.dm_os_buffer_descriptors
--WHERE database_id > 4 -- system databases
-- AND database_id <> 32767 -- ResourceDB
GROUP BY DB_NAME(database_id)
ORDER BY [Cached Size (MB)] DESC
OPTION ( RECOMPILE ) ;
La quantité utilisée indiquée par ceux-ci est d'abord de 7948432 Ko, puis de 44030 57812 Mo, soit un total d'environ 52 Go utilisés par le serveur SQL ... alors où est passé le reste de ma RAM? :-) Le gestionnaire de tâches affiche en ce moment 363 en cache, 401 disponibles, 40 gratuits et sqlservr.exe a un ensemble privé de mémoire 64 459 656. Max Ram défini sur 60000 Mo comme auparavant.