इस क्वेरी को चलाने के लिए संसाधन पूल डिफ़ॉल्ट में अपर्याप्त सिस्टम मेमोरी है


15

मैं Windows Server 2012 पर SQL Server 2014 - 12.0.2269.0 (X64) का उपयोग कर रहा हूं और मैं कुछ मेमोरी समस्याओं का सामना कर रहा हूं। जब मैं एक संग्रहीत प्रक्रिया चलाता हूं जो काफी "भारी" गणना कर रहा है, तो मुझे 10 मिनट के बाद कुछ त्रुटि मिलती है:

इस क्वेरी को चलाने के लिए संसाधन पूल 'डिफ़ॉल्ट' में अपर्याप्त सिस्टम मेमोरी है।

मेरे SQL सर्वर में कई डेटाबेस हैं (जैसे 15, लेकिन वे हमेशा एक ही समय में उपयोग नहीं किए जाते हैं)। मैंने SQL सर्वर लॉग फ़ाइल को देखा (जब मुझे त्रुटि मिली), और मैंने इस तरह की बहुत सारी लाइनें देखीं:

2015-12-17 12: 00: 37.57 spid19s संसाधन पूल 'डिफ़ॉल्ट' में अपर्याप्त मेमोरी के कारण डेटाबेस 'Database_Name' के लिए पृष्ठ आवंटन को रद्द करना। अधिक जानकारी के लिए ' http://go.microsoft.com/fwlink/?LinkId=330673 ' देखें।

प्रत्येक घटक द्वारा उपयोग की गई मेमोरी (मुझे लगता है) के साथ लॉग में एक रिपोर्ट उत्पन्न होती है। यदि मैं रिपोर्ट की सही व्याख्या करता हूं, तो हम देख सकते हैं कि वहाँ बहुत सी मेमोरी खपत है MEMORYCLERK_SQLBUFFERPOOL। आप यहां रिपोर्ट पा सकते हैं: http://pastebin.com/kgmk9dPH

मैंने एक ग्राफ के साथ एक रिपोर्ट भी तैयार की है जो समान "निष्कर्ष" दिखाता है:

![स्मृति उपयोग

यहाँ शायद एक और उपयोगी रिपोर्ट है:

यहाँ छवि विवरण दर्ज करें

यहाँ छवि विवरण दर्ज करें

ध्यान दें कि मैंने इस त्रुटि को लॉग में भी देखा है:

2015-12-17 12: 04: 52.37 spid70 डेटाबेस मेमोरी दबाव के कारण पृष्ठ आवंटित करने में विफल: FAIL_PAGE_ALLOCATION 8

यहाँ सर्वर की मेमोरी के बारे में कुछ जानकारी दी गई है:

  • सर्वर पर कुल मेमोरी: 16 जीबी

  • SQL सर्वर को आवंटित मेमोरी: 12288 एमबी

  • भौतिक मेमोरी उपयोग में (से sys.dm_os_process_memory): 9287 एमबी

यदि यह मदद कर सकता है, तो सर्वर किसी भी SharePoint डेटाबेस की मेजबानी नहीं करता है।


सर्वर पर अधिकतम मेमोरी और कुल रैम क्या है?
परिजन शाह

जवाबों:


6

हालांकि यह संभवतः आपकी समस्या का सटीक उत्तर नहीं है, मैं इसे वैसे भी पोस्ट करूंगा, उम्मीद है कि यह एक तरह से आपकी मदद कर सकता है।

क्या आप देख रहे हैं नहीं है MEMORYCLERK_SQLBUFFERPOOLलेकिन MEMORYCLERK_SQLLOGPOOLसभी स्मृति को ले जा रही।

SQL 2012 SQL Server 2012 के साथ एक ज्ञात समस्या है आउट-ऑफ-मेमोरी त्रुटियों । भले ही आप 2014 से चल रहे हों, एक मौका है कि आप एक ही मुद्दे पर चल रहे हैं (भले ही मुझे 2014 के लिए कोई कनेक्ट आइटम नहीं मिला)।

2014 और 2012 दोनों के लिए भी यह ज्ञात मुद्दा है जिसमें इंडेक्स रियॉड्स और शामिल हैं always on। आपने निर्दिष्ट नहीं किया कि आप इसका उपयोग कर रहे हैं, लेकिन शायद उसी बग में अन्य ट्रिगर हैं: FIX: SQL कैश मेमोरी घट जाती है और जब आप SQL सर्वर में किसी तालिका के लिए अनुक्रमणिका बनाते हैं तो CPU उपयोग बढ़ जाता है

तो अब के लिए मेरा सबसे अच्छा सुझाव नवीनतम सीयू को अपडेट करना है और देखना है कि क्या यह अभी भी होता है, क्योंकि MEMORYCLERK_SQLLOGPOOLहाल ही में कुछ सुधार हुए हैं । चूंकि आप RTM को 2 सुरक्षा सुधारों के साथ चला रहे हैं जो केवल समझ में आता है, एक SP1 + एकाधिक CU उपलब्ध है।

चूँकि इस लेख MEMORYCLERK_XTPद्वारा उपयोग में लाई जाने वाली मेमोरी का उपयोग काफी कम है, in-memory OLTPइससे आपको समस्या निवारण में मदद मिल सकती है: मॉनिटर और समस्या निवारण मेमोरी उपयोग

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