विंडोज 10 में मेमोरी लीक को कैसे ढूंढें और ठीक करें

How Find Fix Memory Leaks Windows 10



यदि आपका विंडोज 10 पीसी प्रदर्शन के मुद्दों से पीड़ित है, तो यह मेमोरी लीक के कारण हो सकता है। यहां विंडोज 10 में मेमोरी लीक को खोजने और ठीक करने का तरीका बताया गया है। जब आप पहली बार विंडोज 10 स्थापित करते हैं, तो सिस्टम फाइल चेकर चलाना एक अच्छा विचार है। यह किसी भी भ्रष्ट सिस्टम फाइल की जांच करेगा और उसे ठीक करेगा। ऐसा करने के लिए, कमांड प्रॉम्प्ट खोलें और टाइप करें: एसएफसी /scannow एक बार स्कैन पूरा हो जाने के बाद, अपने पीसी को पुनरारंभ करें। यदि आप अभी भी प्रदर्शन समस्याएँ देख रहे हैं, तो स्मृति रिसाव की जाँच करने का समय आ गया है। ऐसा करने के लिए, कार्य प्रबंधक खोलें और प्रदर्शन टैब पर जाएँ। मेमोरी स्तंभ के अंतर्गत, आप देखेंगे कि कितनी मेमोरी का उपयोग किया जा रहा है. यदि यह संख्या लगातार बढ़ रही है, तो संभव है कि आपके पास स्मृति रिसाव हो। मेमोरी लीक को ठीक करने के लिए, आपको यह पहचानने की जरूरत है कि कौन सा प्रोग्राम समस्या पैदा कर रहा है। ऐसा करने के लिए, विवरण टैब पर जाएं और पीआईडी ​​​​कॉलम की जांच करें। यह आपको प्रत्येक चल रहे प्रोग्राम की पीआईडी ​​(प्रक्रिया आईडी) दिखाएगा। उच्चतम PID संख्या वाले प्रोग्राम को देखें और उस प्रक्रिया को समाप्त करें। एक बार जब आप प्रक्रिया समाप्त कर लेते हैं, तो अपने पीसी को पुनरारंभ करें और देखें कि क्या समस्या ठीक हो गई है। यदि नहीं, तो प्रक्रिया को तब तक दोहराएं जब तक आप अपराधी को नहीं ढूंढ लेते।



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





विंडोज 10 में मेमोरी लीक

शुरू करने से पहले, आपको पता होना चाहिए कि मेमोरी लीक एक सॉफ़्टवेयर समस्या है जिसे डीबग करने की आवश्यकता है, जैसे कि जावा, जावास्क्रिप्ट, सी/सी++, विंडोज़ आदि में। रैम या हार्ड ड्राइव के भौतिक प्रतिस्थापन की आवश्यकता नहीं है।





विंडोज 10 में मेमोरी लीक



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

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

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

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

रिसाव का पता लगाने

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



  1. पुष्टीकरण : रिसाव का पता लगाना।
  2. कर्नेल मोड में मेमोरी लीक ढूँढना : कर्नेल-मोड ड्राइवर घटक के कारण होने वाले रिसाव के लिए खोजें।
  3. उपयोगकर्ता मोड में मेमोरी लीक ढूँढना : ड्राइवर या उपयोगकर्ता मोड एप्लिकेशन के कारण रिसाव का पता लगाना।

स्मृति आवंटन

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

  1. ढेर पर मेमोरी आवंटित करने के लिए HealAlloc फ़ंक्शन। C/C++ रनटाइम समतुल्य malloc और new हैं।
  2. OS से सीधे आवंटन के लिए VirtualAlloc फ़ंक्शन।
  3. किसी अनुप्रयोग के लिए कर्नेल मेमोरी को संग्रहीत करने के लिए Kernel32 APIs। उदाहरण: क्रिएटफाइल, क्रिएटथ्रेड।
  4. एपीआई User32 और एपीआई Gdi32।

मेमोरी लीक रोकथाम

हम सभी जानते हैं कि रोकथाम इलाज से बेहतर है, इसलिए स्मृति रिसाव को रोकने के कुछ उपाय यहां दिए गए हैं।

आदत निगरानी

विंडोज 10 में मेमोरी लीक

विंडोज़ 10 अपग्रेड विफल रहता है और विंडोज़ 7 पर वापस लौट जाता है

आपको अलग-अलग प्रोग्राम और एप्लिकेशन द्वारा असामान्य रैम उपयोग के लिए देखने की जरूरत है। क्लिक करके आप विंडोज टास्क मैनेजर में जा सकते हैं CTRL + शिफ्ट + ईएससी और हैंडल, यूजर ऑब्जेक्ट्स, जीडीआई ऑब्जेक्ट्स इत्यादि जैसे कॉलम जोड़ें।

इससे आपको संसाधन उपयोग को आसानी से ट्रैक करने में मदद मिलेगी।

मेमोरी लीक के निदान के लिए Microsoft उपकरण

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

  1. एप्लिकेशन सत्यापनकर्ता हीप लीक का निदान करता है।
  2. यूएमडीएच (विंडोज डिबगिंग टूल्स का एक घटक) ढेर आवंटन की निगरानी करके प्रति-प्रक्रिया लीक का निदान करता है।
  3. RAM उपयोग के गहन विश्लेषण के लिए ट्रेस कैप्चर।
  4. Xperf ढेर आवंटन पैटर्न का भी ट्रैक रखता है।
  5. CRT डिबग हीप न केवल हीप आवंटन का ट्रैक रखता है, बल्कि आपको लीक को कम करने के लिए कोडिंग तकनीकों को लागू करने की अनुमति भी देता है।
  6. जावास्क्रिप्ट मेमोरी लीक डिटेक्टर कोड में मेमोरी लीक को डिबग करता है।

उपयोग युक्तियाँ

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

विंडोज में मेमोरी लीक को ठीक करें

मेमोरी लीक को रोकने के विभिन्न तरीकों की तरह ही मेमोरी लीक को रोकने के भी अलग-अलग तरीके हैं। लेकिन शुरू करने से पहले, मत भूलना पहले एक सिस्टम रिस्टोर पॉइंट बनाएं .

1] प्रक्रियाओं को बंद करें और पुनरारंभ करें।

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

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

विंडोज मेमोरी डायग्नोस्टिक्स

डिस्क अज्ञात नहीं आरंभिक

बिल्ट-इन एक्सेस करने के लिए मेमोरी डायग्नोस्टिक टूल विंडोज के लिए:

  1. अपने सभी महत्वपूर्ण कार्य सहेजें।
  2. क्लिक विन + आर खुला दौड़ना खिड़की।
  3. आदेश दर्ज करें mdsched.exe में दौड़ना खिड़की।
  4. अपने कंप्यूटर को पुनरारंभ।
  5. रीस्टार्ट करने के बाद, बेसिक स्कैन करें या 'चुनें' विकसित 'जैसे विकल्प' परीक्षण मिश्रण ' या ' पास की संख्या '।
  6. क्लिक F10 परीक्षण शुरू करने के लिए।

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

3] ड्राइवर अपडेट के लिए जाँच करें

ड्राइवर सॉफ़्टवेयर अद्यतन

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

  1. क्लिक विन + आर और खुला दौड़ना खिड़की। प्रकार devmgmt.msc और एंटर दबाएं। यह आपको ले जाएगा डिवाइस मैनेजर .
  2. पुराने ड्राइवरों की जाँच करें और उन सभी को अपडेट करें।
  3. उन अद्यतनों के लिए जिन्हें आप चूक गए होंगे, Windows अद्यतन देखें।

वह बहुत आसान था।

4] प्रदर्शन अनुकूलन

बेहतर कार्य - निष्पादन के लिए समायोजन

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

  1. दाएँ क्लिक करें ' यह पी.सी »और चयन करें« विकसित 'बाएं फलक पर।
  2. अंतर्गत ' विकसित टैब पर' प्रदर्शन
लोकप्रिय पोस्ट