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

Windows 11/10 में मेमोरी लीक ढूंढें और ठीक करें

एक मेमोरी लीक खराब मेमोरी आवंटन के कारण कंप्यूटर प्रोग्राम में संसाधनों का गलत स्थान है। यह तब होता है जब उपयोग में न होने वाला RAM स्थान अनरिलीज़्ड रहता है। मेमोरी लीक को स्पेस लीक से भ्रमित न करें, जो एक प्रोग्राम द्वारा आवश्यकता से अधिक RAM का उपयोग करने को संदर्भित करता है। Windows 11/10/8/7 सिस्टम पर मेमोरी लीक तब हुई कही जाती है जब मेमोरी उपयोग में न होने के बावजूद सुलभ नहीं होती।

Windows 11/10 में मेमोरी लीक

शुरू करने से पहले, आपको पता होना चाहिए कि मेमोरी लीक एक सॉफ्टवेयर मुद्दा है जिसे डिबग करने की आवश्यकता है - उदाहरण के लिए Java, JavaScript, C/C++, Windows, आदि में। भौतिक रूप से RAM या हार्ड डिस्क बदलने की आवश्यकता नहीं है।

Windows 11/10 में मेमोरी लीक ढूंढें और ठीक करें

यह खराब क्यों है

यह स्पष्ट है कि मेमोरी लीक खराब है क्योंकि यह एक बग है, सिस्टम में एक दोष। लेकिन आइए जानें कि यह वास्तव में सिस्टम को कैसे प्रभावित करता है:

  1. चूंकि मेमोरी उपयोग में न होने पर भी मुक्त नहीं होती, इसके परिणामस्वरूप मेमोरी की कमी होती है।
  2. मेमोरी की थकावट सॉफ्टवेयर एजिंग का परिणाम है।
  3. उपलब्ध मेमोरी कम होने से सिस्टम द्वारा प्रतिक्रिया समय बढ़ जाता है और प्रदर्शन खराब होता है।
  4. अनियंत्रित मेमोरी लीक अंततः एप्लिकेशन के क्रैश का कारण बन सकती है।

मेमोरी लीक की पहचान करने के लिए, एक प्रोग्रामर को प्रोग्राम के सोर्स कोड तक पहुंच की आवश्यकता होती है।

लीक का पता लगाना

किसी समस्या को हल करने के लिए, हमें पहले इसकी पहचान करने की आवश्यकता है। मेमोरी लीक का पता लगाने के लिए बुनियादी चरण हैं:

  1. पुष्टि: यह निर्धारित करना कि लीक हुई है या नहीं।
  2. कर्नेल-मोड मेमोरी लीक ढूंढना: कर्नेल-मोड ड्राइवर घटक के कारण होने वाले लीक का पता लगाना।
  3. यूजर-मोड मेमोरी लीक ढूंढना: यूजर-मोड ड्राइवर या ऐप के कारण होने वाले लीक का पता लगाना।

मेमोरी आवंटन

ऐसे विभिन्न मोड हैं जिनमें एप्लिकेशन RAM आवंटित करते हैं। यदि उपयोग के बाद स्पेस मुक्त नहीं किया जाता है, तो आवंटन के मोड के बावजूद मेमोरी लीक होगी। कुछ सामान्य आवंटन पैटर्न हैं:

  1. हीप मेमोरी आवंटन के लिए HealAlloc फ़ंक्शन। C/C++ रनटाइम समकक्ष malloc और new हैं।
  2. OS से सीधे आवंटन के लिए VirtualAlloc फ़ंक्शन।
  3. ऐप के लिए कर्नेल मेमोरी रखने के लिए Kernel32 APIs। उदाहरण, CreateFile, CreateThread।
  4. User32 APIs और Gdi32 APIs।

Windows में मेमोरी लीक रोकें

हम सभी जानते हैं कि रोकथाम इलाज से बेहतर है, इसलिए यहां मेमोरी लीक रोकने के कुछ तरीके हैं।

निगरानी की आदतें

Windows 11/10 में मेमोरी लीक ढूंढें और ठीक करें

आपको व्यक्तिगत प्रोग्राम और एप्लिकेशन द्वारा असामान्य RAM उपयोग पर नजर रखने की आवश्यकता है। आप CTRL+SHIFT+ESC दबाकर Windows Task Manager पर जा सकते हैं और Handles, User Objects, GDI Objects आदि जैसे कॉलम जोड़ सकते हैं।

यह आपको संसाधन उपयोग की आसानी से निगरानी करने में मदद करेगा।

पढ़ें: कंप्यूटर में मेमोरी के प्रकार क्या हैं?

मेमोरी लीक का निदान करने के लिए Microsoft टूल

विभिन्न आवंटन मोड के लिए मेमोरी लीक का निदान करने के लिए विभिन्न टूल हैं:

  1. एप्लिकेशन वेरिफायर हीप लीक का निदान करता है।
  2. UMDH (Windows Debugging Tools का एक घटक) हीप मेमोरी आवंटन की निगरानी करके व्यक्तिगत प्रक्रियाओं के लिए लीक का निदान करता है।
  3. RAM उपयोग के गहन विश्लेषण के लिए Trace Capture।
  4. Xperf हीप आवंटन पैटर्न को भी ट्रैक करता है।
  5. CRT Debug Heap न केवल हीप आवंटन को ट्रैक करता है बल्कि लीक को कम करने के लिए कोडिंग प्रथाओं को भी सक्षम बनाता है।
  6. JavaScript Memory Leak Detector कोड में मेमोरी लीक को डीबग करता है।

उपयोग टिप्स

  1. Win32 संसाधनों और हीप आवंटन के लिए कर्नेल HANDLEs और अन्य स्मार्ट पॉइंटर्स का उपयोग करें।
  2. ATL लाइब्रेरी से कर्नेल आवंटन के लिए स्वचालित संसाधन प्रबंधन के लिए क्लासेस प्राप्त करें। C++ स्टैंडर्ड में हीप आवंटन के लिए auto_ptr है।
  3. _com_ptr_t या _bstr_t या _variant_t की मदद से COM इंटरफ़ेस पॉइंटर्स को "स्मार्ट पॉइंटर्स" के भीतर एनकैप्सुलेट करें।
  4. .NET कोड की असामान्य मेमोरी उपयोग के लिए निगरानी करें।
  5. फ़ंक्शंस के लिए एकाधिक निकास पथ से बचें ताकि अधिकांश ब्लॉक्स में फ़ंक्शन के अंत तक वेरिएबल्स से आवंटन मुक्त हो जाएं।
  6. केवल _finally ब्लॉक में सभी आवंटन मुक्त करने के बाद नेटिव एक्सेप्शन का उपयोग करें। C++ एक्सेप्शन का उपयोग करने के लिए सभी हीप और हैंडल आवंटन को स्मार्ट पॉइंटर्स में लपेटें।
  7. PROPVARIANT ऑब्जेक्ट को पुनः आरंभ या त्यागने से पहले हमेशा PropVariantClear फ़ंक्शन को कॉल करें।

Windows में मेमोरी लीक का निवारण करें

मेमोरी लीक को रोकने के विभिन्न तरीकों की तरह, मेमोरी लीक को रोकने के भी विभिन्न तरीके हैं। लेकिन शुरू करने से पहले, पहले सिस्टम रिस्टोर पॉइंट बनाना याद रखें।

1. प्रक्रियाओं को बंद करें और रीस्टार्ट करें।

यदि आप देखते हैं कि अनावश्यक प्रक्रिया बहुत अधिक RAM ले रही है, तो आप Task Manager में प्रक्रिया को समाप्त कर सकते हैं। आपको डिवाइस को रीस्टार्ट करना होगा ताकि मुक्त स्थान अन्य प्रक्रियाओं द्वारा उपयोग के लिए उपलब्ध हो। रीस्टार्ट के बिना मेमोरी लीक समस्या हल नहीं होगी। एक विशेष प्रक्रिया जिसमें बग हैं जो PC को धीमा करते हैं, Runtime Broker है। जांचें कि क्या केवल इसे अक्षम करने से काम चलता है।

2. मेमोरी डायग्नोस्टिक टूल्स

Windows 11/10 में मेमोरी लीक ढूंढें और ठीक करें

Windows के लिए बिल्ट-इन मेमोरी डायग्नोस्टिक टूल तक पहुंचने के लिए:

  1. अपना सारा महत्वपूर्ण कार्य सेव करें।
  2. Win + R दबाकर Run विंडो खोलें।
  3. Run विंडो में कमांड mdsched.exe टाइप करें।
  4. PC को रीस्टार्ट करें।
  5. रीस्टार्ट के बाद, बेसिक स्कैन करें या 'Advanced' विकल्पों जैसे 'Test mix' या 'Pass count' के लिए जाएं।
  6. टेस्ट शुरू करने के लिए F10 दबाएं।

ये अभी भी अस्थायी सुधार हैं।

3. ड्राइवर अपडेट की जांच करें

Windows 11/10 में मेमोरी लीक ढूंढें और ठीक करें

पुराने ड्राइवर मेमोरी लीक का कारण बनते हैं। सभी ड्राइवरों को अपडेट रखें:

  1. Win + R दबाएं और Run विंडो खोलें। devmgmt.msc टाइप करें और Enter दबाएं। यह आपको Device Manager पर ले जाएगा।
  2. पुराने ड्राइवरों की जांच करें और उन सभी को अपडेट करें।
  3. अपडेट के लिए जिन्हें आप चूक गए होंगे, Windows Update में जांचें।

यह सरल था।

4. प्रदर्शन अनुकूलित करें

Windows 11/10 में मेमोरी लीक ढूंढें और ठीक करें

Windows को प्रदर्शन के लिए एडजस्ट करने से प्रोसेसर शेड्यूलिंग और मेमोरी उपयोग सहित सब कुछ प्रबंधित होगा ताकि मेमोरी लीक रोकी जा सके। इन चरणों का पालन करें:

  1. This PC पर राइट-क्लिक करें और बाएं फलक पर Advanced सेटिंग्स चुनें।
  2. Advanced टैब के तहत, Performance पर जाएं, उसके बाद Settings।
  3. Adjust for best performance चेक करें और OK पर क्लिक करें।
  4. रीस्टार्ट करें और जांचें कि क्या समस्या हल हो गई है।

यदि यह सरल समाधान काम नहीं करता है, तो अगला समाधान आज़माएं।

5. स्टार्टअप पर चलने वाले प्रोग्राम अक्षम करें

Windows 11/10 में मेमोरी लीक ढूंढें और ठीक करें

समस्याग्रस्त प्रोग्राम को अक्षम करना मेमोरी लीक समस्या से छुटकारा पाने का एकमात्र तरीका है। Task Manager पर जाएं और समस्या पैदा करने वाले प्रोग्राम को अक्षम करें। यदि आप नहीं जानते कि कौन से प्रोग्राम समस्या पैदा कर रहे हैं, तो यह करें:

  1. Task Manager पर जाएं।
  2. Startup पर जाएं।
  3. डिफ़ॉल्ट रूप से चलने की आवश्यकता नहीं वाले स्टार्टअप प्रोग्राम को अक्षम करें।

6. हार्ड ड्राइव डीफ्रैग करें

Windows 11/10 में मेमोरी लीक ढूंढें और ठीक करें

हालांकि Windows 10 यह आपके लिए स्वचालित रूप से करता है, आपको कभी-कभी हार्ड ड्राइव को डीफ्रैग करने की आवश्यकता हो सकती है ताकि प्रदर्शन अनुकूलित हो सके:

  1. This PC या My Computer पर जाएं।
  2. सिस्टम हार्ड ड्राइव (आमतौर पर C: ड्राइव) पर राइट-क्लिक करें।
  3. Properties के तहत Tools पर जाएं और Optimize चुनें।
  4. डीफ्रैग करने के लिए ड्राइव चुनें और Analyze चुनें।

नई फ्रैगमेंटेशन के बाद अपने कंप्यूटर को रीस्टार्ट करें।

7. शटडाउन पर Page File क्लियर करें

यह अब जटिल हो रहा है - लेकिन चिंता न करें। हर शटडाउन पर Page File क्लियर करने का तरीका यहां दिया गया है:

  • Registry Editor लॉन्च करने के लिए Search पर regedit टाइप करें।
  • यह पथ दर्ज करें:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerMemory Management
  • ClearPageFileAtShutDown का मान '1' पर बदलें।
  • परिवर्तन सेव करें और डिवाइस रीस्टार्ट करें।

यह काम करना चाहिए। याद रखें कि आपकी शटडाउन प्रक्रिया में थोड़ा अधिक समय लगेगा।

9. Superfetch अक्षम करें

यह Windows सर्विस बूट समय को कम करके प्रदर्शन को अनुकूलित करती है। यह Windows को RAM उपयोग प्रबंधित करने देती है। Superfetch अक्षम करने के बाद जीवन सुविधाजनक नहीं है लेकिन अगर आपको करना ही है तो करें। कम से कम समस्या को अलग करने के लिए अकेले इसे आजमाएं:

  1. services.msc खोजें और सर्विसेज मैनेजर पर जाएं।
  2. Superfetch देखें और Properties पर जाने के लिए राइट-क्लिक करें।
  3. Stop चुनें।
  4. ड्रॉप-डाउन मेनू से सर्विस को Disable भी करें।
  5. PC रीस्टार्ट करें और जांचें कि क्या प्रदर्शन में सुधार हुआ है।

यदि यह काम नहीं करता है तो Superfetch सक्षम करें।

10. मैलवेयर की जांच करें

थर्ड-पार्टी एंटीवायरस सॉफ़्टवेयर या Windows 10 के इन-हाउस Windows Defender का उपयोग करके स्कैन करें और मैलवेयर को खत्म करें। सुनिश्चित करें कि एंटीवायरस आपके OS का समर्थन करने के लिए अपडेटेड है ताकि यह मेमोरी लीक का कारण न बने।

मेमोरी लीक ढूंढने या रोकने के लिए आपको हर समाधान यहीं मिलेगा। आप MSDN और Microsoft पर मेमोरी लीक के बारे में अधिक पढ़ सकते हैं।

Windows 11/10 में मेमोरी लीक ढूंढें और ठीक करें
  1. Windows 11 और 10 पर 0x8900002A त्रुटि हल करें: चरण-दर-चरण फिक्स गाइड Windows 11 और 10 पर 0x8900002A त्रुटि हल करें: चरण-दर-चरण फिक्स गाइड

    हम इस बात पर पर्याप्त जोर नहीं दे सकते कि Microsoft के अपडेट कितने महत्वपूर्ण हैं। हालांकि, ऐसे समय होते हैं जब ये अपडेट हानिकारक साबित हो सकते हैं और समस्याएं साथ ला सकते हैं। ऐसा ही एक मुद्दा 0x8900002A त्रुटि है। 0x8900002A त्रुटि सामने आने पर क्या होता है? यहां 0x8900002A मुद्दे के कुछ वास्तवि

  1. Windows 10/11 पर Hal_Initialization_Failed BSOD त्रुटि को हल करें - चरण-दर-चरण गाइड Windows 10/11 पर Hal_Initialization_Failed BSOD त्रुटि को हल करें - चरण-दर-चरण गाइड

    Hal_Initialization_failed त्रुटि एक परेशान करने वाली BSOD त्रुटि है जो तब होती है जब आपका पीसी स्लीप मोड से जागता है। आमतौर पर, पीसी को पुनरारंभ करके यह ठीक हो जाती है, लेकिन यदि आप इसे ठीक से ठीक नहीं करते हैं, तो यह बार-बार दिखाई दे सकती है। Windows पर Hal_Initialization_failed अक्सर पुराने OS संस

  1. विंडोज 11 और 10 पर व्हाइट स्क्रीन ऑफ डेथ को हल करें: चरण-दर-चरण फिक्स गाइड विंडोज 11 और 10 पर व्हाइट स्क्रीन ऑफ डेथ को हल करें: चरण-दर-चरण फिक्स गाइड

    क्या आप अपने पीसी पर विंडोज 10 या विंडोज 11 का उपयोग कर रहे हैं? यदि हां, तो हम मानते हैं कि आपने व्हाइट स्क्रीन ऑफ डेथ का अनुभव किया है। यह आम मुद्दों में से एक है जो उपयोगकर्ता अपने कंप्यूटर का उपयोग करते समय समय-समय पर देख सकते हैं। दैनिक उपयोग करते समय आप विंडोज से संबंधित विभिन्न मुद्दों का साम