Computer >> कंप्यूटर >  >> प्रणाली >> Windows Server

विंडोज़ में हाई नॉन-पेजेड पूल मेमोरी यूसेज (लीक)

विंडोज कंप्यूटर और सर्वर एक निश्चित सिस्टम ड्राइवर के रिसाव के कारण मेमोरी ओवरफ्लो के साथ परेशानी का अनुभव कर सकते हैं जो सिस्टम के गैर-पेजेड मेमोरी पूल में अपना डेटा स्टोर करता है। गैर-पृष्ठांकित मेमोरी पू l ऑपरेटिंग सिस्टम के कर्नेल और ड्राइवरों द्वारा उपयोग किए जाने वाले कंप्यूटर की RAM में डेटा है। गैर-पृष्ठांकित पूल को डिस्क (पेजिंग फ़ाइल में) में कभी भी स्वैप नहीं किया जाता है, यह हमेशा केवल भौतिक मेमोरी में संग्रहीत होता है।

आप गैर-पृष्ठांकित स्मृति का वर्तमान आकार मेमोरी . में देख सकते हैं प्रदर्शन . का अनुभाग टास्क मैनेजर में टैब। नीचे दिया गया स्क्रीनशॉट दिखाता है कि सर्वर की लगभग सभी मेमोरी व्यस्त है, और इसका अधिकांश भाग गैर-पेजेड पूल 4.2GB द्वारा कब्जा कर लिया गया है। आम तौर पर, गैर-पृष्ठांकित पूल का आकार शायद ही कभी 200-400 एमबी से अधिक हो। एक बड़ा गैर-पृष्ठांकित पूल आकार अक्सर इंगित करता है कि कुछ सिस्टम घटक या डिवाइस ड्राइवर में स्मृति रिसाव है।

विंडोज़ में हाई नॉन-पेजेड पूल मेमोरी यूसेज (लीक)

यदि सर्वर पर गैर-पृष्ठांकित पूल में कोई स्मृति रिसाव है, तो सिस्टम इवेंट लॉग में निम्न इवेंट दिखाई देंगे:

इवेंट आईडी:2019
स्रोत:Srv
विवरण:The server was unable to allocate from the system nonpaged pool because the pool was empty

ज्यादातर मामलों में, ऊपर वर्णित स्मृति रिसाव का कारण विंडोज़ में स्थापित तृतीय-पक्ष ड्राइवरों के साथ कुछ समस्याएं हैं। एक नियम के रूप में, ये नेटवर्क ड्राइवर हैं। कृपया, बड़ी फ़ाइलों को डाउनलोड करते समय पूल व्यवहार पर ध्यान दें (सबसे अधिक संभावना है, यह तेजी से बढ़ता है)।

विंडोज़ पर अधिकतम गैर-पृष्ठांकित पूल आकार:

  • Windows x64 128 Gb तक और 75% से अधिक भौतिक मेमोरी नहीं
  • Windows x86 2 Gb तक और 75% से अधिक RAM नहीं

केवल विंडोज रिबूट गैर-पेजेड पूल को साफ करने में मदद करता है। यह होम डिवाइस के लिए स्वीकार्य हो सकता है, लेकिन आपको 24/7 काम करने वाले सर्वर के लिए एक बेहतर समाधान खोजना चाहिए।

सामग्री:

  • नेटवर्क डेटा उपयोग निगरानी ड्राइवर अक्षम करें
  • कर्नेल-मोड मेमोरी लीक का पता लगाने के लिए पूलमॉन का उपयोग करना
  • नेटवर्क एडेप्टर ड्राइवरों के नवीनतम संस्करण स्थापित करें
  • हाइपर-V भूमिका अक्षम करें

नेटवर्क डेटा उपयोग निगरानी ड्राइवर अक्षम करें

अक्सर, गैर-पृष्ठांकित पूल में स्मृति रिसाव का कारण नेटवर्क गतिविधि निगरानी ड्राइवर की असंगति है (नेटवर्क डेटा उपयोग — NDU, %WinDir%\system32\drivers\Ndu.sys ) नेटवर्क एडेप्टर ड्राइवरों के साथ। अक्सर किलर नेटवर्क और MSI नेटवर्क कार्ड ड्राइवर NDU ड्राइवर के साथ संघर्ष करते हैं। इस सेवा को विंडोज की कार्यक्षमता को ज्यादा नुकसान पहुंचाए बिना अक्षम किया जा सकता है।

कमांड के साथ एनडीयू सेवा बंद करें:

sc config NDU start= disabled

विंडोज़ में हाई नॉन-पेजेड पूल मेमोरी यूसेज (लीक)

या रजिस्ट्री के माध्यम से:

  1. रजिस्ट्री संपादक खोलें (regedit.exe );
  2. रजिस्ट्री कुंजी पर जाएं HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Ndu\;
  3. प्रारंभ . का मान बदलें 4. . के लिए पैरामीटर

विंडोज़ में हाई नॉन-पेजेड पूल मेमोरी यूसेज (लीक)

परिवर्तन करने के बाद, आपको अपने कंप्यूटर को पुनरारंभ करना होगा।

कर्नेल-मोड मेमोरी लीक खोजने के लिए PoolMon का उपयोग करना

आप गैर-पृष्ठांकित पूल में स्मृति रिसाव के कारण ड्राइवर की पहचान करने का प्रयास कर सकते हैं। ऐसा करने के लिए, हमें Poolmoon.exe . की आवश्यकता है कंसोल टूल Windows ड्राइवर किट में शामिल है (डब्ल्यूडीके)। माइक्रोसॉफ्ट से अपने विंडोज संस्करण के लिए डब्लूडीके डाउनलोड और इंस्टॉल करें। फिर Poolmon.exe प्रारंभ करें (Windows 10 के लिए WDK के मामले में, टूल C:\Program Files (x86)\Windows Kits\10\Tools\ में स्थित है। फ़ोल्डर)।

टूल शुरू करने के बाद, P press दबाएं . दूसरा कॉलम उन प्रक्रियाओं के टैग प्रदर्शित करेगा जो नॉन-पेजेड मेमोरी (Nonp एट्रिब्यूट) का उपयोग करती हैं। फिर B . दबाएं ड्राइवर सूची को बाइट्स कॉलम द्वारा सॉर्ट करने के लिए कुंजी।

विंडोज़ में हाई नॉन-पेजेड पूल मेमोरी यूसेज (लीक)

बायां कॉलम ड्राइवर टैग को सूचीबद्ध करता है। आपका काम इस टैग का उपयोग करके ड्राइवर फ़ाइल की पहचान करना है। हमारे उदाहरण में, आप देख सकते हैं कि गैर-पृष्ठांकित पूल में अधिकांश RAM का उपयोग ड्राइवरों द्वारा टैग के साथ किया जाता है Nr22 , ConT , और smNp

आपको strings.exe . का उपयोग करके पाए गए टैग के लिए ड्राइवरों की जांच करनी चाहिए टूल (Sysinternals से), बिल्ट-इन findstr . का उपयोग करके कमांड, या पावरशेल का उपयोग करना।

आपको मिले टैग से जुड़ी ड्राइवर फ़ाइलों को खोजने के लिए निम्न कमांड का उपयोग करें:

findstr /m /l /s Nr22 %Systemroot%\System32\drivers\*.sys
findstr /m /l /s ConT %Systemroot%\System32\drivers\*.sys
findstr /m /l /s smNp %Systemroot%\System32\drivers\*.sys

या, आप पावरशेल का भी उपयोग कर सकते हैं:

Set-Location "C:\Windows\System32\drivers"
Select-String -Path *.sys -Pattern "Nr22" -CaseSensitive | Select-Object FileName -Unique
Select-String -Path *.sys -Pattern "Py28" -CaseSensitive | Select-Object FileName -Unique
Select-String -Path *.sys -Pattern "Ne40" -CaseSensitive | Select-Object FileName –Unique

आप सीधे Poolmon.exe में टैग के लिए ड्राइवर फ़ाइलों को मैप कर सकते हैं। ऐसा करने के लिए, सुनिश्चित करें कि pooltag.txt फ़ाइल उपकरण निर्देशिका में है। आप WDK इंस्टॉलेशन डायरेक्टरी से Pooltag.txt को कॉपी कर सकते हैं या इसे GitHub से डाउनलोड कर सकते हैं। पूलमोन को इस प्रकार चलाएँ:

poolmon /g

विंडोज़ में हाई नॉन-पेजेड पूल मेमोरी यूसेज (लीक)

ध्यान दें कि ड्राइवर का नाम अब Mapped_driver . में प्रदर्शित होता है स्तंभ।

इसलिए हमें ड्राइवर फ़ाइलों की सूची मिल गई है जो समस्या का कारण बन सकती हैं। अब आपको यह पहचानना होगा कि ये फ़ाइलें किन ड्राइवरों और सिस्टम घटकों को उनके नाम से संदर्भित करती हैं। ऐसा करने के लिए, आप सिग्चेक . का उपयोग कर सकते हैं Sysinternals से टूल।

sigcheck C:\Windows\System32\drivers\rdyboost.sys

टूल ड्राइवर या Windows घटक का नाम, विवरण और संस्करण लौटाता है।

विंडोज़ में हाई नॉन-पेजेड पूल मेमोरी यूसेज (लीक)

अब आप समस्या ड्राइवर या सेवा को अनइंस्टॉल/अपडेट/रीइंस्टॉल करने का प्रयास कर सकते हैं।

यदि स्मृति रिसाव के परिणामस्वरूप बीएसओडी होता है, तो आप मेमोरी डंप फ़ाइल में समस्याग्रस्त ड्राइवर की पहचान कर सकते हैं।

  1. विंडबग डीबगर में मेमोरी डंप लोड करें;
  2. आदेश चलाएँ:!vm
  3. यदि गैर-पृष्ठांकित पूल उपयोग मान NonPagedPool Max . से अधिक है , इसका मतलब है कि गैर-पृष्ठांकित पूल समाप्त हो गया है;
  4. कमांड के साथ पूल की सामग्री की जांच करें (परिणाम गैर-पेजेड पूल उपयोग द्वारा क्रमबद्ध किए जाएंगे):!poolused 2
  5. ड्राइवर टैग प्राप्त करने के बाद, findstr . का उपयोग करके ड्राइवर फ़ाइल ढूंढें या strings.exe जैसा कि ऊपर वर्णित है।

नेटवर्क एडेप्टर ड्राइवर्स के नवीनतम संस्करण स्थापित करें

विक्रेता की वेबसाइट से अपने नेटवर्क एडेप्टर के लिए नवीनतम ड्राइवर संस्करण डाउनलोड और इंस्टॉल करने का प्रयास करें।

यदि विंडोज़ में स्वचालित ड्राइवर अद्यतन सक्षम है, तो यह देखने के लिए जांचें कि क्या नए ड्राइवर स्थापित करने के बाद समस्याएं शुरू हुईं। पिछले ड्राइवर संस्करण में वापस रोल करने का प्रयास करें और देखें कि क्या समस्या बनी रहती है। यदि समस्या हल हो जाती है, तो स्वचालित ड्राइवर अद्यतन अक्षम करें।

हाइपर-V भूमिका अक्षम करें

कुछ मामलों में, स्थापित हाइपर-V भूमिका गैर-पृष्ठांकित पूल में स्मृति रिसाव का कारण बन रही है। यदि आपको इस भूमिका की आवश्यकता नहीं है, तो हम इसे अक्षम करने की अनुशंसा करते हैं।

विंडोज सर्वर पर आप पावरशेल कमांड के साथ हाइपर-वी भूमिका को अक्षम कर सकते हैं:

Remove-WindowsFeature -Name Hyper-V

विंडोज 10 के लिए कमांड:

Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All

यदि आपकी खोज कोई परिणाम नहीं लौटाती है, तो जांचें कि क्या स्मृति रिसाव उपयोगकर्ता-मोड प्रक्रिया के कारण हुआ था। कार्य प्रबंधक खोलें, विवरण पर जाएं टैब में, एनपी पूल जोड़ें कॉलम और गैर-पेजेड पूल में बड़े मेमोरी आकार वाली प्रक्रियाओं की तलाश करें।

विंडोज़ में हाई नॉन-पेजेड पूल मेमोरी यूसेज (लीक)

यह गाइड विंडोज सर्वर 2019/2016/2012R और डेस्कटॉप विंडोज 10/8.1 दोनों के लिए लागू है।


  1. Windows 10 में IAStorDataSvc उच्च CPU मेमोरी उपयोग को कैसे ठीक करें

    हमारे कंप्यूटर में ऐसी कई प्रक्रियाएँ हैं जो उच्च CPU मेमोरी उपयोग का उपभोग करती हैं। इन प्रक्रियाओं के कारण एप्लिकेशन और सॉफ़्टवेयर समय-समय पर क्रैश हो सकते हैं या यहां तक ​​कि कंप्यूटर धीमी गति से कार्य कर सकता है। देखने में ये प्रक्रियाएं हानिकारक नहीं लगती हैं, और ज्यादातर मामलों में, ईमानदार ह

  1. डायग्नोस्टिक नीति सेवा उच्च CPU और मेमोरी उपयोग को कैसे ठीक करें

    कई सक्रिय प्रक्रियाएं और सेवाएं पृष्ठभूमि में चलती हैं, इससे कोई फर्क नहीं पड़ता कि आप किस ओएस का उपयोग करते हैं, चाहे विंडोज, मैकओएस या लिनक्स। हम, उपयोगकर्ता के रूप में, अक्सर इन जटिल सेवाओं से अनभिज्ञ होते हैं जो बड़ी मात्रा में CPU उपयोग और सिस्टम संसाधनों का उपयोग करते हैं। तो, डायग्नोस्टिक पॉ

  1. Google क्रोम विंडोज 10 में उच्च मेमोरी उपयोग को कैसे कम करें

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