Ich hätte gerne Ihre Meinung dazu. Ich habe einen SQL Server 2008r2 Ent. Ed. 64bit mit 16 Kernen und 64GB RAM. Ab 20111014 ist eine Instanz von SQL Server vollständig gepatcht.
Der maximale RAM ist auf 60000 MB eingestellt. Die Menge an freiem RAM ist laut Task-Manager nach ein paar Tagen online gleich 0.
Wenn ich den maximalen RAM auf unter 53 GB ändere, wird er sich nach ein paar Tagen stabilisieren und etwas freien RAM haben.
Es ist der SQL-Prozess, der den RAM gemäß Task-Manager zuweist. Wie komme ich mit dem Problem klar? Es versteht sich von selbst, dass ich bereits viel getestet habe, dies aber noch nicht nach meinem Geschmack gelöst habe. und ohh wir bekommen nicht den typischen Speicherhunger, wenn der verfügbare RAM bis auf 0 frei ist.
Update 1:
Inspiriert von einem anderen Q / A zu RAM auf dieser Seite /dba//a/7062/2744 . Ich habe diese beiden verwendet, um zu sehen, wofür der RAM verwendet wird.
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 ) ;
Die Menge, die von diesen angezeigt wird, ist zum einen 7948432 KB, zum anderen 44030,57812 MB, das sind insgesamt etwa 52 GB, die von SQL Server verwendet werden. Also, wo ist der Rest meines RAM geblieben? :-) Task-Manager zeigen jetzt zwischengespeicherte 363, verfügbare 401, kostenlose 40 und sqlservr.exe hat privaten Speicher 64 459 656 festgelegt. Max Ram auf 60000 MB wie zuvor festgelegt.