Bu konudaki bilgilerinizi istiyorum. Bir sql server 2008r2 Ent var. Ed. 16 çekirdek ve 64 GB RAM ile 64 bit. 20111014'ten itibaren tam olarak yamalanmış bir SQL sunucusu örneği vardır.
Maksimum ram 60000MB olarak ayarlanmıştır. Birkaç gün sonra çevrimiçi olarak görev yöneticisine göre ücretsiz koç miktarı 0'dır.
Maksimum ram'i 53GB'ın altına değiştirirsem, birkaç gün sonra stabilize olur ve serbest koç alır.
Görev yöneticisine göre koç tahsis eden sql işlemidir. Sorunun gerçekte ne olduğunu nasıl anlayabilirim? Zaten test bir sürü yaptım ama bu benim beğenisine henüz çözmedim söylemeye gerek yok. ve ohh mevcut ram 0'a düştüğünde tipik bellek açlığını geciktirmiyoruz.
Güncelleme 1:
Bu sayfadaki RAM ile ilgili başka bir Q / A'dan esinlenen /dba//a/7062/2744 . RAM'in ne için kullanıldığını görmek için bu ikisini kullandım.
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 ) ;
Bunlar tarafından gösterilen miktar ilk önce 7948432 Kb ikincisi 44030,57812 MB, sql sunucusu tarafından kullanılan yaklaşık 52GB'dir ... öyleyse RAM'imin geri kalanı nereye gitti? :-) Görev yöneticisi şovu şu anda önbelleğe alınmış 363, mevcut 401, ücretsiz 40 ve sqlservr.exe özel bellek 64 459 656'ya sahiptir. Max Ram daha önce olduğu gibi 60000MB olarak ayarlanmıştır.