विंडोज सर्वर 2008 R2 64-बिट मेमोरी लीक


12

मुझे अपने एक ऑफिस सर्वर में परेशानी हो रही है। यह 6GB रैम मेमोरी के साथ विंडोज 2008 R2 सर्वर का वर्चुअलाइजेशन करता है। इसमें केवल Microsoft SQL Server (मेमोरी को अधिकतम = 3GB असाइन किया गया है), और सिर्फ एक सॉफ्टवेयर है जो 1GB से अधिक रैम का उपभोग नहीं कर रहा है। हालाँकि, सर्वर की रैम मेमोरी लगभग भरी हुई है, और कार्य प्रबंधक में प्रक्रियाओं को देखकर उन्हें यह योग नहीं लगता है। मैंने RamMap स्थापित किया है, लेकिन इसे बहुत आसानी से व्याख्या नहीं कर सकता, क्या कोई "उच्च मूल्य" है जिसे आप पहचान सकते हैं?

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


1
"कुल" या "सक्रिय" के आधार पर छाँटने से उत्तर स्पष्ट हो जाएगा।
दिमित्री ग्रिगोरीव

जवाबों:


18

खैर, मैं ~ 3.2 गीगाबाइट ड्राइवर लॉक की गई मेमोरी को देखता हूं, जो तुरंत संदिग्ध के रूप में बाहर खड़ा है।

इस तरह की मेमोरी, ड्राइवर लॉक की गई मेमोरी, मेमोरी है जिसे कर्नेल-मोड ड्राइवर द्वारा लॉक किया गया है। आमतौर पर छोटी मात्रा में डेटा स्थानांतरित करने के उद्देश्य से , आमतौर पर कम समय के लिए।

इसलिए यदि आपके पास लंबे समय तक ड्राइवर लॉक मेमोरी का एक बड़ा हिस्सा है , तो यह आमतौर पर संकेत है कि कुछ सही नहीं है।

मैं यहां एक जंगली अनुमान लगाने जा रहा हूं और अनुमान लगाता हूं कि जब से आपने उल्लेख किया है कि यह एक वर्चुअलाइज्ड सर्वर है, तो यह VMware गुब्बारा चालक है जो ऐसा कर रहा है। मेरे पास यह बताने के लिए पर्याप्त डेटा नहीं है कि यह ऐसा क्यों कर रहा है, लेकिन इसमें बहुत सारे मामले हैं और VMware KB का समर्थन करते हैं, जैसे कि यह विशेष रूप से गुब्बारा चालक के बारे में बात करता है जब वह कंधे पर बड़ी मात्रा में मेमोरी बनाए रखता है। t हो।

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

अभी तक एक और संभावना है कि यह एक हाइपरवाइजर डायनेमिक मेमोरी ड्राइवर नहीं है, बल्कि इसके बजाय कुछ दुष्ट डिवाइस ड्राइवर है।

ड्राइवर आमतौर पर 3 या 4-वर्ण टैग के साथ "टैग" की गई मेमोरी को आवंटित करते हैं जो इस बात का संकेत देती है कि आवंटन बनाने के लिए ड्राइवर क्या जिम्मेदार था।
Windows SDK / DDK का हिस्सा poolmon.exe, निदान करने में मदद कर सकता है।

जैसा कि मैंने कहा, जंगली अनुमान है, लेकिन यह मेरे पास मौजूद डेटा के साथ सबसे अच्छा है।


16

ठीक है, मेरे पास 2005 से 2016 तक परिसर में SQL सर्वर का प्रत्येक कल्पनाशील संस्करण है, और मैंने किसी भी मेमोरी लीक को वास्तव में उपयोग किए गए मेम के 100% के रूप में विशाल नहीं देखा है। देखें कि आपके पास वर्चुअल मशीन के लिए डायनेमिक मेमोरी सक्षम है या नहीं

Driver Lockedएक आंकड़ा है जिस पर आपको ध्यान केंद्रित करना चाहिए। आपके विशिष्ट मामले में, Driver Lockedशायद हाइपर-वी ड्राइवरों में से एक है, जिसने सभी अप्रयुक्त मेमोरी को लॉक कर दिया है (वीएम को सौंपा गया है, लेकिन इसके द्वारा अप्रयुक्त है), इसलिए यह डायनामिक मेमोरी के साथ कॉन्फ़िगर किए गए कुछ अन्य वीएम को "दे सकता है", या यहां तक ​​कि मेजबान ओएस, जो भी फिलहाल इसकी जरूरत है। आप उस वर्चुअल मशीन के अंदर कुछ बड़ी फ़ाइल या मेमोरी-इंटेंसिव ऐप खोलकर इसका परीक्षण कर सकते हैं - कुछ अन्य मीट्रिक बढ़ने पर DriverLocked मेमोरी को नीचे जाना चाहिए। IMHO यह चिंता का कारण नहीं होना चाहिए यदि आपने सभी वीएम में अपनी मेमोरी को बहुत अधिक नहीं बढ़ाया है।


5
मैं आपको 8 सेकंड की तरह हराता हूं ... सर्वर फाल्ट में आपका स्वागत है। :)
रयान रिसेस २ '

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