मुझे इस पर आपका इनपुट अच्छा लगेगा। मेरे पास एक sql सर्वर 2008r2 Ent है। ईडी। 16 कोर और 64 जीबी रैम के साथ 64 बिट। 2018014 के रूप में पूरी तरह से पैच किए गए SQL सर्वर का एक उदाहरण है।
अधिकतम रैम 60000MB पर सेट है। मुफ्त राम की राशि कुछ दिनों के बाद ऑनलाइन कार्य प्रबंधक के अनुसार 0 है।
अगर मैं अधिकतम RAM को 53GB से नीचे बदलता हूं तो कुछ दिनों के बाद इसे स्थिर करने और कुछ मुफ्त में रैम मिलेगा।
यह sql प्रक्रिया है जो टास्क मैनेजर के अनुसार RAM को आवंटित करती है। मुझे इस बात की जानकारी कैसे है कि वास्तव में समस्या क्या है? यह कहे बिना जाता है कि मैंने पहले ही परीक्षण कर लिया था, लेकिन अभी तक इसे पसंद नहीं किया। और ओह जब हम उपलब्ध राम 0 से नीचे है, तो विशिष्ट मेमोरी भुखमरी की स्थिति नहीं होती है।
अपडेट 1:
इस पृष्ठ पर राम से संबंधित एक अन्य क्यू / ए से प्रेरित होकर /dba//a/7062/2744 । मैंने इन दोनों का उपयोग यह देखने के लिए किया कि रैम का उपयोग किस लिए किया जा रहा है।
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 ) ;
इनके द्वारा दर्शाई गई राशि पहले 7948432 Kb दूसरी 44030,57812 MB का चयन करती है जो कुल 52GB sql सर्वर द्वारा उपयोग किया जाता है ... तो मेरी RAM शेष कहाँ गई? :-) टास्क मैनेजर शो अभी 363 कैश हुआ है, उपलब्ध 401, फ्री 40 और sqlservr.exe में मेमोरी प्राइवेट सेट 64 459 656 है। मैक्स राम पहले की तरह 60000MB पर सेट है।