Windows 11/10 . में मेमोरी लीक ढूँढें और ठीक करें
मेमोरी लीक(Memory Leak) दोषपूर्ण मेमोरी आवंटन के कारण कंप्यूटर प्रोग्राम में संसाधनों का गलत स्थान है। यह तब होता है जब कोई RAM लोकेशन जो उपयोग में नहीं होती है वह रिलीज़ नहीं होती है। मेमोरी लीक को स्पेस लीक के साथ भ्रमित नहीं होना चाहिए, जो एक प्रोग्राम को आवश्यकता से अधिक रैम(RAM) का उपयोग करने के लिए संदर्भित करता है। Windows 11/10/8/7 सिस्टम पर एक मेमोरी लीक तब हुई जब मेमोरी उपयोग में न होने के बावजूद बस पहुंच योग्य नहीं है।
विंडोज 11/10 में मेमोरी लीक
शुरू करने से पहले, आपको पता होना चाहिए कि मेमोरी(Memory) लीक डीबग करने के लिए एक सॉफ़्टवेयर समस्या है - उदाहरण के लिए जावा(Java) , जावास्क्रिप्ट(JavaScript) , सी/सी ++, विंडोज़(Windows) आदि में। रैम(RAM) या हार्ड डिस्क को भौतिक रूप से बदलने की आवश्यकता नहीं है।
यह बुरा क्यों है
यह स्पष्ट है कि स्मृति रिसाव खराब है क्योंकि यह एक बग है, सिस्टम में एक दोष है। लेकिन आइए जानें कि यह वास्तव में सिस्टम को कैसे प्रभावित करता है:
- चूंकि स्मृति उपयोग में न होने पर भी मुक्त नहीं होती है, इसके परिणामस्वरूप स्मृति में कमी आती है।
- स्मृति के समाप्त होने से सॉफ्टवेयर की उम्र बढ़ने लगती है।
- कम उपलब्ध मेमोरी से सिस्टम द्वारा प्रतिक्रिया समय और खराब प्रदर्शन में वृद्धि होती है।
- एक अनियंत्रित स्मृति रिसाव अंततः किसी एप्लिकेशन के क्रैश का कारण बन सकता है।
मेमोरी लीक की पहचान करने के लिए, प्रोग्रामर को प्रोग्राम के सोर्स कोड तक पहुंच की आवश्यकता होती है।
रिसाव का पता लगाना
किसी समस्या को हल करने के लिए, हमें पहले उसे पहचानना होगा। मेमोरी लीक का पता लगाने के लिए बुनियादी कदम हैं:
- पुष्टि(Affirmation) : यह निर्धारित करना कि कोई रिसाव हुआ है या नहीं।
- कर्नेल-मोड मेमोरी लीक ढूँढना(Finding Kernel-mode memory leak) : कर्नेल-मोड ड्राइवर घटक के कारण रिसाव का पता लगाना।
- उपयोगकर्ता-मोड स्मृति रिसाव ढूँढना(Finding User-mode memory leak) : उपयोगकर्ता-मोड ड्राइवर या ऐप के कारण रिसाव का पता लगाना।
स्मृति आवंटन
ऐसे विभिन्न तरीके हैं जिनमें एप्लिकेशन रैम(RAM) आवंटित करते हैं । यदि उपयोग के बाद स्थान खाली नहीं किया जाता है, तो आवंटन के तरीके के बावजूद स्मृति रिसाव होगा। कुछ सामान्य आवंटन पैटर्न हैं:
- (HealAlloc)हीप मेमोरी आवंटन के लिए हीलअलोक फ़ंक्शन। सी/सी ++ रनटाइम समकक्ष मॉलोक और नए हैं।
- वर्चुअलअलोक(VirtualAlloc) ओएस से सीधे आवंटन के लिए कार्य करता है।
- कर्नेल 32 एपीआई(Kernel32 APIs) ऐप के लिए कर्नेल मेमोरी रखने के लिए। उदाहरण(Example) , CreateFile , CreateThread ।
- User32 API और Gdi32 API।
विंडोज़ में मेमोरी लीक रोकें
हम सभी जानते हैं कि रोकथाम इलाज से बेहतर है इसलिए स्मृति रिसाव को रोकने के कुछ तरीके यहां दिए गए हैं।
निगरानी की आदतें
आपको अलग-अलग प्रोग्राम और एप्लिकेशन द्वारा असामान्य RAM उपयोग पर नज़र रखने की आवश्यकता है । आप CTRL+SHIFT+ESC दबाकर विंडोज टास्क मैनेजर में जा सकते हैं और (Windows Task Manager)हैंडल(Handles) , यूजर ऑब्जेक्ट्स(User Objects) , जीडीआई ऑब्जेक्ट्स(GDI Objects) इत्यादि जैसे कॉलम जोड़ सकते हैं ।
यह आपको संसाधन उपयोग की आसानी से निगरानी करने में मदद करेगा।
पढ़ें(Read) : कंप्यूटर में मेमोरी कितने प्रकार की होती है?(What are the Types of Memory in a computer?)
(Microsoft)मेमोरी लीक का निदान करने के लिए Microsoft उपकरण
विभिन्न उपकरण विभिन्न आवंटन मोड के लिए मेमोरी लीक का निदान करते हैं:
- अनुप्रयोग सत्यापनकर्ता(Application Verifier) हीप लीक का निदान करता है।
- UMDH ( विंडोज डिबगिंग टूल्स(Windows Debugging Tools) का एक घटक ) हीप मेमोरी आवंटन की निगरानी करके व्यक्तिगत प्रक्रियाओं के लिए लीक का निदान करता है।
- RAM उपयोग के गहन विश्लेषण के लिए ट्रेस कैप्चर ।(Capture)
- Xperf भी ढेर आवंटन पैटर्न को ट्रैक करता है।
- CRT डीबग हीप(CRT Debug Heap) न केवल हीप आवंटन को ट्रैक करता है बल्कि लीक को कम करने के लिए कोडिंग प्रथाओं को भी सक्षम बनाता है।
- जावास्क्रिप्ट मेमोरी लीक डिटेक्टर(JavaScript Memory Leak Detector) कोड में मेमोरी लीक को डीबग करता है।
उपयोग युक्तियाँ
- Win32 संसाधनों और ढेर आवंटन के लिए कर्नेल हैंडल(HANDLE) और अन्य स्मार्ट पॉइंटर्स का उपयोग करें।
- (Get)एटीएल(ATL) पुस्तकालय से कर्नेल आवंटन के लिए स्वचालित संसाधन प्रबंधन के लिए कक्षाएं प्राप्त करें । सी ++ मानक में ढेर आवंटन के लिए auto_ptr है।(auto_ptr )
- (Encapsulate COM)_com_ptr_t या _bstr_t या _variant_t की सहायता से "स्मार्ट पॉइंटर्स" के भीतर COM इंटरफ़ेस पॉइंटर्स को इनकैप्सुलेट करें ।
- (Monitor)असामान्य स्मृति उपयोग के लिए .NET कोड की (.NET)निगरानी करें ।
- (Avoid)फ़ंक्शन के अंत तक अधिकांश ब्लॉकों में आवंटन को चर से मुक्त करने के लिए कार्यों के लिए कई निकास पथों से बचें ।
- (Use)_अंतिम रूप(_finally) से ब्लॉक में सभी आवंटन को मुक्त करने के बाद ही मूल अपवादों का उपयोग करें । सी ++ अपवादों का उपयोग करने के लिए सभी ढेर लपेटें और स्मार्ट पॉइंटर्स में आवंटन को संभालें।(Wrap)
- PROPVARIANT ऑब्जेक्ट को पुन: प्रारंभ करने या हटाने से पहले हमेशा PropVariantClear फ़ंक्शन को कॉल करें ।
(Troubleshoot)विंडोज़(Windows) में मेमोरी लीक का समस्या निवारण करें
मेमोरी लीक को रोकने के विभिन्न तरीकों की तरह, मेमोरी लीक को रोकने के कई तरीके हैं। लेकिन इससे पहले कि आप शुरू करें, पहले सिस्टम पुनर्स्थापना बिंदु बनाना याद रखें ।
1] प्रक्रियाओं को बंद करें और पुनः आरंभ करें।
यदि आप देखते हैं कि एक अनावश्यक प्रक्रिया बहुत अधिक RAM ले रही है, तो आप (RAM)कार्य प्रबंधक(Task Manager) में प्रक्रिया को समाप्त कर सकते हैं । आपको डिवाइस को पुनरारंभ करने की आवश्यकता होगी ताकि खाली स्थान अन्य प्रक्रियाओं द्वारा उपयोग के लिए उपलब्ध हो। बिना पुनरारंभ(Restart) स्मृति रिसाव समस्या हल नहीं होगी। एक विशेष प्रक्रिया जिसमें पीसी को धीमा करने के लिए बग हैं, वह है रनटाइम (Runtime) ब्रोकर(Broker) । कोशिश करें कि अक्षम करना अकेले काम करता है।
2] मेमोरी डायग्नोस्टिक टूल्स
विंडोज के लिए इनबिल्ट मेमोरी डायग्नोस्टिक टूल तक पहुंचने के लिए:(Memory Diagnostic Tool)
- अपने सभी महत्वपूर्ण कार्य सहेजें।
- रन(Run) विंडो खोलने के लिए Win + R दबाएं ।
- रन(Run) विंडो में mdsched.exe कमांड टाइप करें ।
- पीसी को पुनरारंभ करें।
- पुनः आरंभ करने के बाद, एक बुनियादी स्कैन करें या ' उन्नत(Advanced) ' विकल्पों जैसे ' टेस्ट मिक्स(Test mix) ' या ' पास काउंट(Pass count) ' के लिए जाएं।
- परीक्षण शुरू करने के लिए F10 दबाएं ।
ये अभी भी अस्थायी सुधार हैं।
3] ड्राइवर अपडेट की जांच करें
पुराने ड्राइवर मेमोरी लीक का कारण बनते हैं। सभी ड्राइवरों को अपडेट रखें :
- Win + R दबाएं और रन(Run) विंडो खोलें। Devmgmt.msc टाइप करें और एंटर दबाएं(Enter) । यह आपको डिवाइस मैनेजर(Device Manager) पर ले जाएगा ।
- पुराने ड्राइवरों की जांच करें(Check) और उन सभी को अपडेट करें।
- अपडेट के लिए, आप चूक गए होंगे, विंडोज अपडेट(Windows Update) में चेक इन करें ।
यह सरल था।
4] प्रदर्शन अनुकूलित करें
प्रदर्शन के लिए विंडोज़ को समायोजित करने से मेमोरी लीक को रोकने के लिए प्रोसेसर शेड्यूलिंग और मेमोरी उपयोग सहित सब कुछ प्रबंधित हो जाएगा। इन चरणों का पालन करें:
- ' यह पीसी(This PC) ' पर राइट-क्लिक करें और बाएं फलक पर ' उन्नत(Advanced) ' सेटिंग्स का चयन करें ।
- ' उन्नत(Advanced) ' टैब के अंतर्गत, ' प्रदर्शन(Performance) ' पर जाएं, उसके बाद ' सेटिंग(Settings) ' पर जाएं।
- ' सर्वश्रेष्ठ प्रदर्शन के लिए समायोजित(Adjust for best performance) करें' चेक करें और ठीक(OK) क्लिक करें ।
- पुनरारंभ(Restart) करें और जांचें कि क्या समस्या हल हो गई है।
यदि यह सरल समाधान काम नहीं करता है, तो अगले समाधान का प्रयास करें।
5] स्टार्टअप(Startup) पर चल रहे प्रोग्राम(Programs) को डिसेबल करें
मेमोरी लीक की समस्या से छुटकारा पाने का एकमात्र तरीका परेशानी वाले कार्यक्रमों को अक्षम करना है। टास्क मैनेजर(Task Manager) पर जाएं और ट्रबलमेकिंग प्रोग्राम को डिसेबल कर दें। यदि आप नहीं जानते कि कौन से प्रोग्राम समस्या पैदा कर रहे हैं, तो यह करें:
- ' टास्क मैनेजर(Task Manager) ' पर जाएं।
- ' स्टार्टअप(Startup) ' पर जाएं।
- स्टार्टअप प्रोग्राम को अक्षम करें जिन्हें(Disable the startup programs) आपको डिफ़ॉल्ट रूप से चलाने की आवश्यकता नहीं है।
6] डीफ़्रैग हार्ड ड्राइव
हालांकि विंडोज 10(Windows 10) यह आपके लिए स्वचालित रूप से करता है, आपको प्रदर्शन को अनुकूलित करने के लिए कभी-कभी हार्ड ड्राइव को डीफ़्रैग्मेन्ट करने की आवश्यकता हो सकती है :
- ' दिस पीसी(This PC) ' या ' माय कंप्यूटर(My Computer) ' पर जाएं।
- (Right-Click)सिस्टम हार्ड ड्राइव (आमतौर पर C: ड्राइव) पर राइट-क्लिक करें ।
- ' गुण(Properties) ' के अंतर्गत ' उपकरण(Tools) ' पर जाएँ और ' अनुकूलन(Optimize) ' चुनें।
- डीफ़्रैग्मेन्ट करने के लिए ड्राइव का चयन करें और ' विश्लेषण(Analyze) ' चुनें।
नए फ़्रेग्मेंटेशन के बाद अपने कंप्यूटर को पुनरारंभ करें।
7] शटडाउन पर ClearPage फ़ाइल
यह अब जटिल होता जा रहा है - लेकिन चिंता न करें। यहां प्रत्येक शटडाउन पर पेज फाइल को साफ(clear the Page File at every shutdown) करने का तरीका बताया गया है :
- रजिस्ट्री संपादक(Registry Editor) को लॉन्च करने के लिए खोज(Search) पर regedit टाइप करें ।
- यह पथ दर्ज करें:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerMemory Management
- ClearPageFileAtShutDown के मान को '1' में बदलें।( ClearPageFileAtShutDown to ‘1’.)
- परिवर्तनों को सहेजें और डिवाइस को पुनरारंभ करें।(Restart)
यह करना चाहिए। याद रखें कि आपकी शटडाउन प्रक्रिया में थोड़ा अधिक समय लगेगा।
9] सुपरफच अक्षम करें
यह विंडोज सेवा(Windows Service) बूट समय को कम करके प्रदर्शन को अनुकूलित करती है। यह विंडोज़ को (Windows)रैम(RAM) के उपयोग को प्रबंधित करने देता है। सुपरफच(Superfetch) को अक्षम करने के बाद का जीवन(Life) सुविधाजनक नहीं है, लेकिन यदि आवश्यक हो तो इसे करें। समस्या को अलग करने के लिए कम से कम इसे अकेले आज़माएं:
- services.msc सर्च करें और सर्विस मैनेजर पर जाएं।
- ' सुपरफच ' खोजें और ' (Superfetch)गुण(Properties) ' पर जाने के लिए उस पर राइट-क्लिक करें ।
- ' स्टॉप(Stop) ' चुनें।
- साथ ही ड्रॉप-डाउन मेनू से सेवा को ' अक्षम ' करें।(Disable)
- पीसी को पुनरारंभ करें और जांचें कि क्या प्रदर्शन में सुधार हुआ है।
सुपरफच सक्षम करें यदि यह काम नहीं करता है।
10] मैलवेयर की जांच करें
मैलवेयर को स्कैन और समाप्त करने के लिए किसी तृतीय-पक्ष एंटीवायरस सॉफ़्टवेयर या Windows 10 के इन-हाउस Windows डिफ़ेंडर का उपयोग करें। (Windows Defender)सुनिश्चित करें(Make) कि एंटीवायरस आपके ओएस को सपोर्ट करने के लिए अपडेट किया गया है ताकि यह मेमोरी लीक का कारण न बने।
मेमोरी लीक को खोजने या रोकने के लिए आपको कभी भी हर समाधान की आवश्यकता हो सकती है। आप एमएसडीएन(MSDN) और माइक्रोसॉफ्ट(Microsoft) पर मेमोरी लीक के बारे में अधिक पढ़ सकते हैं ।
Related posts
विंडोज 11/10 में स्मॉल मेमोरी डंप (डीएमपी) फाइलें कैसे खोलें और पढ़ें
विंडोज 11/10 में विंडोज मेमोरी डायग्नोस्टिक्स टूल कैसे चलाएं
विंडोज 11/10 में पेज फाइल साइज या वर्चुअल मेमोरी कैसे बढ़ाएं
विंडोज 11/10 में क्रैश डंप फ़ाइल को मैन्युअल रूप से कैसे बनाएं?
Explorer.exe Windows 11/10 में उच्च मेमोरी या CPU उपयोग
Windows 11/10 में Windows.edb फ़ाइल क्या है?
विंडोज 10 मेमोरी लीक को कैसे ठीक करें
पीएलएस फाइल क्या है? विंडोज 11/10 में पीएलएस फाइल कैसे बनाएं?
विंडोज 11/10 में वेबकैम का परीक्षण कैसे करें? क्या यह काम कर रहा है?
विंडोज 11/10 के लिए माइक्रोसॉफ्ट एज ब्राउजर टिप्स एंड ट्रिक्स
माइक्रोसॉफ्ट इंट्यून सिंक नहीं हो रहा है? विंडोज 11/10 में सिंक करने के लिए फोर्स इंट्यून
एचडीएमआई प्लेबैक डिवाइस विंडोज 11/10 में नहीं दिख रहा है
विंडोज 11/10 में 100% डिस्क, हाई सीपीयू, हाई मेमोरी उपयोग को कैसे ठीक करें
विंडोज 11/10 में शटडाउन और स्टार्टअप लॉग की जांच कैसे करें?
विंडोज 11/10 में प्रोसेसर कैश मेमोरी साइज की जांच कैसे करें
विंडोज 11/10 के लिए सर्वश्रेष्ठ मुफ्त आईएसओ माउंटर सॉफ्टवेयर
विंडोज 11/10 में माइक्रोसॉफ्ट एज हाई मेमोरी यूसेज को ठीक करें
Windows 11/10 . में ब्लूटूथ ध्वनि विलंब को ठीक करें
विंडोज 11/10 में मेल और कैलेंडर ऐप फ्रीज, क्रैश या काम नहीं कर रहा है
विंडोज 11/10 में कंट्रोल पैनल में सिस्टम प्रॉपर्टीज कैसे खोलें