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

Windows में हाई नॉन-पेज्ड पूल मेमोरी उपयोग (लीक)

Windows कंप्यूटर्स और सर्वर्स को सिस्टम के नॉन-पेज्ड मेमोरी पूल में अपना डेटा स्टोर करने वाले सिस्टम ड्राइवर के लीक के कारण मेमोरी ओवरफ्लो की समस्या का सामना करना पड़ सकता है। नॉन-पेज्ड मेमोरी पूल कंप्यूटर की RAM में डेटा होता है जिसका उपयोग ऑपरेटिंग सिस्टम के कर्नेल और ड्राइवर्स द्वारा किया जाता है। नॉन-पेज्ड पूल को कभी भी डिस्क पर स्वैप नहीं किया जाता (पेजिंग फाइल पर), यह हमेशा केवल फिजिकल मेमोरी में स्टोर होता है।

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

Windows में हाई नॉन-पेज्ड पूल मेमोरी उपयोग (लीक)

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

Event ID: 2019
Source: Srv
Description: The server was unable to allocate from the system nonpaged pool because the pool was empty

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

Windows पर अधिकतम नॉन-पेज्ड पूल आकार:

  • Windows x64: 128 GB तक और फिजिकल मेमोरी के 75% से अधिक नहीं
  • Windows x86: 2 GB तक और 75% RAM से अधिक नहीं

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

नेटवर्क डेटा उपयोग मॉनिटरिंग ड्राइवर को डिसेबल करें

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

निम्न कमांड से NDU सर्विस रोकें:

sc config NDU start= disabled

Windows में हाई नॉन-पेज्ड पूल मेमोरी उपयोग (लीक)

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

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

Windows में हाई नॉन-पेज्ड पूल मेमोरी उपयोग (लीक)

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

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

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

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

Windows में हाई नॉन-पेज्ड पूल मेमोरी उपयोग (लीक)

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

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

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

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

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

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 फाइल है। आप pooltag.txt को WDK इंस्टॉलेशन डायरेक्टरी से कॉपी कर सकते हैं या GitHub से डाउनलोड कर सकते हैं। poolmon को निम्न प्रकार से चलाएं:

poolmon /g

Windows में हाई नॉन-पेज्ड पूल मेमोरी उपयोग (लीक)

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

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

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

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

Windows में हाई नॉन-पेज्ड पूल मेमोरी उपयोग (लीक)

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

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

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

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

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

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

Hyper-V भूमिका डिसेबल करें

कुछ मामलों में, इंस्टॉल की गई Hyper-V भूमिका नॉन-पेज्ड पूल में मेमोरी लीक का कारण बनती है। यदि आपको इस भूमिका की आवश्यकता नहीं है, तो हम इसे डिसेबल करने की सलाह देते हैं।

Windows Server पर आप PowerShell कमांड से Hyper-V भूमिका डिसेबल कर सकते हैं:

Remove-WindowsFeature -Name Hyper-V

Windows 10 के लिए कमांड:

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

यदि आपकी खोज कोई परिणाम नहीं देती है, तो जांचें कि क्या मेमोरी लीक यूज़र-मोड प्रोसेस के कारण हुई थी। टास्क मैनेजर खोलें, डिटेल्स टैब पर जाएं, NP Pool कॉलम जोड़ें और नॉन-पेज्ड पूल में बड़ी मेमोरी साइज़ वाले प्रोसेसेज देखें।

Windows में हाई नॉन-पेज्ड पूल मेमोरी उपयोग (लीक)

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

  1. विंडोज 10 में IAStorDataSvc CPU ओवरयूज हल करें: चरण-दर-चरण गाइड विंडोज 10 में IAStorDataSvc CPU ओवरयूज हल करें: चरण-दर-चरण गाइड

    हमारे कंप्यूटर में कई प्रक्रियाएं हैं जो उच्च CPU मेमोरी उपयोग का उपभोग करती हैं। ये प्रक्रियाएं एप्लिकेशन और सॉफ्टवेयर को बार-बार क्रैश कर सकती हैं या कंप्यूटर के कामकाज को धीमा कर सकती हैं। सतह पर, ये प्रक्रियाएं हानिकारक नहीं दिखतीं, और अधिकांश मामलों में, ईमानदारी से कहूं तो, यह उनमें कुछ दोष ह

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

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

  1. विंडोज 10 पर क्रोम मेमोरी उपयोग कम करें: त्वरित और प्रभावी टिप्स विंडोज 10 पर क्रोम मेमोरी उपयोग कम करें: त्वरित और प्रभावी टिप्स

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