Windows Server 2008 R2 में अजीब मेमोरी उपयोग


20

मुझे आशा है कि कोई मदद कर सकता है। हमें 16GB RAM के साथ एक Windows Server 2008 R2 मशीन मिली है जो किसी न किसी चीज के द्वारा उपलब्ध सभी मेमोरी को प्राप्त करती रहती है। टास्क मैनेजर या रिसोर्स मॉनिटर में कुछ भी 300MB से ऊपर की मेमोरी का उपयोग करके किसी भी प्रक्रिया का खुलासा नहीं करता है ... लेकिन सर्वर पर मेमोरी का उपयोग 15.7GB है।

https://i784.photobucket.com/albums/yy129/ThunderPeel2001/ram-usage.gif

SQL सर्वर 2008 और IIS7.5 (ASP.Net के साथ) केवल चलने वाली चीजें हैं ।

नोट: रिबूट शुरू होने के बाद रैम का उपयोग कम हो जाता है और अपने तरीके से काम करता है। एक या दो सप्ताह के बाद हम इस स्थिति में खुद को खोजते रहते हैं।

मुझे कैसे पता चलेगा कि हमारी सारी मेमोरी क्या खा रही है? :(


1
आपने वास्तव में "अब SQL सर्वर रैम उपयोग (न्यूनतम / अधिकतम) को 13GB तक सीमित कर दिया है, यह फिर से नहीं होना चाहिए।" मैं SQL 2008 R2 के साथ एक Win 2008 R2 मशीन चला रहा हूं और मैं एक ही समस्या में चल रहा हूं।

यह SQL सर्वर स्टूडियो के भीतर एक सेटिंग है। सौभाग्य!
जोंगो रेनहार्ड्ट

जवाबों:


15

क्या यह 64 बिट सर्वर है - क्या आपके पास मेमोरी लोकल पॉलिसी में लॉक पेज सक्षम हैं? SQL संभवतः आपकी शेष मेमोरी का उपभोग कर रहा है यदि आप परफ़ॉर्मर काउंटरों को देखते हैं तो आप मेमोरी आवंटन देखेंगे

यहाँ एक लेख है जो इसे गहराई से समझाता है

आप SQL में काउंटरों को भी देख सकते हैं

SELECT
    object_name
   ,Counter_name
   ,cntr_value
   ,ROUND(( cntr_value * 8192.0 ) / 1048576, 0) AS cntr_value_MB
FROM
    sys.dm_os_performance_counters
WHERE
    object_Name LIKE '%Buffer Manager%'
    AND RTRIM(counter_name) IN ( 'Free pages', 'Total pages',
                                 'Database pages' ) 
UNION SELECT
    object_name
   ,Counter_name
   ,cntr_value
   ,ROUND(( cntr_value / 1024 ), 0) AS cntr_value_MB
FROM
    sys.dm_os_performance_counters
WHERE
    counter_name IN ( 'Target Server Memory (KB)',
                      'Total Server Memory (KB)' )

2
यह सब कुछ समझाता है। मेमोरी का उपयोग "सभी उपलब्ध का उपयोग करें" (यानी। 2000TB) और पृष्ठों को रैम में बंद कर दिया गया था, तब जब उपयोग में था तो सब कुछ उसके पास नहीं था। अब SQL सर्वर रैम उपयोग (न्यूनतम / अधिकतम) को 13GB तक सीमित करने के बाद, यह फिर से नहीं होना चाहिए। अब मेरे पास किसी भी बदलाव पर नजर रखने के लिए कई उपकरण उपलब्ध हैं। आपकी सहायताके लिए धन्यवाद!
जिआंगो रेनहार्ड्ट

>> अब मेरे पास कई उपकरण उपलब्ध हैं जो किसी भी बदलाव पर नजर रखने के लिए उपलब्ध हैं - आपने किन उपकरणों का उपयोग किया है?
डेविड क्रिस्टियन

6

त्वरित परीक्षण: SQL सर्वर को पुनरारंभ करें।
एक और त्वरित परीक्षण: IIS को पुनरारंभ करें।

आपको यकीन है कि अगर उनमें से एक अपराधी है, या यदि आपको कहीं और देखना है, तो आपको पता चल जाएगा।


SQL WAS अपराधी की तरह लग रहा है!
Django रेनहार्ड्ट


1

क्या आप वास्तव में किसी स्मृति-संबंधी समस्या का सामना कर रहे हैं?

क्या मेमोरी का उपयोग वास्तविक स्थापित मेमोरी की तुलना में अधिक हो जाता है, या क्या यह सिर्फ भर जाता है और वहां रहता है?

यदि स्मृति बस भर जाती है, लेकिन आपको कोई समस्या नहीं हो रही है, तो यह सिर्फ अपना काम कर रहा है; यदि आप वास्तव में इसकी आवश्यकता होगी, तो मेमोरी स्वचालित रूप से फिर से जारी की जाएगी ।

यदि मेमोरी का उपयोग भौतिक सीमा से ऊपर चला जाता है और सर्वर रुक जाता है, तो आप कुछ मेमोरी लीक का अनुभव कर रहे हैं और इसे निश्चित रूप से डिबग करना चाहिए।

"कैश" विषय पर कुछ रोचक लेख:

http://blogs.msdn.com/ntdebugging/archive/2007/11/27/too-much-cache.aspx
http://blogs.msdn.com/ntdebugging/archive/2007/10/10/the-memory -shell-game.aspx
http://blogs.msdn.com/ntdebugging/archive/2009/02/06/microsoft-windows-dynamic-cache-service.aspx


खैर हम सर्वर को रीसेट किए बिना किसी भी क्रिटिकल विंडोज अपडेट को स्थापित नहीं कर सकते क्योंकि यह रैम से बाहर चल रहा है। बहुत हास्यास्पद है। जो भी इसका उपयोग कर रहा था, उसे वापस नहीं देना चाहता था।
Django रेनहार्ड्ट

0

क्या आपने परफ्यूम (विशेष रूप से SQL काउंटर) का निरीक्षण किया है, जैसा कि आपके अन्य धागे में किसी ने सुझाया है ?


1
हां, लेकिन "परफ्यूम का निरीक्षण करना" जितना लगता है उससे कहीं अधिक जटिल है।
जोंगो रेनहार्ड्ट

0

पहली बात यह है, जैसा कि पहले कहा गया है, इसे पैच अप करें और देखें कि क्या इस मुद्दे को हल करता है।

दूसरे, यदि वह काम नहीं करता है, तो अपने मेमोरी उपयोग पर बेहतर नज़र डालने के लिए प्रोसेस एक्सप्लोरर का उपयोग करें। व्यू मेनू पर जाएं, फिर कॉलम, प्रोसेस मेमोरी चुनें और प्राइवेट बाइट्स, वर्चुअल साइज़ और वर्किंग सेट साइज़ विकल्पों की जाँच करें। देखें कि क्या इंगित करता है कि यहां क्या दोष है।

एक कठोर दृष्टिकोण तब सेवाओं को रोकने की कोशिश करना होगा। उदाहरण के लिए IIS एक कुल मेमोरी सुअर हो सकता है यदि आपके पास ऐप पूल और वेब गार्डन गलत हैं (उनमें से बहुत सारे) तो वह एक उम्मीदवार है।

सौभाग्य!

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.