विंडोज टास्क मैनेजर द्वारा बताई गई कुल मेमोरी उपयोग सभी प्रक्रियाओं के मेमोरी उपयोग के योग से अधिक क्यों है? [डुप्लिकेट]


98

टास्क मैनेजर मेरे 6 जीबी कुल के 90% पर मेरे कुल मेमोरी उपयोग को दर्शाता है, लेकिन कोई भी एकल प्रक्रिया 250 एमबी से अधिक रैम का उपयोग नहीं कर रही है, और सभी चलने वाली प्रक्रियाओं का रैम उपयोग 2 जीबी से कम है। मैंने कोशिश की:

  • विंडोज 8 टास्क मैनेजर के "प्रोसेस" टैब पर "मेमोरी" कॉलम में संख्याओं को देखते हुए।
  • टास्क मैनेजर के "विवरण" टैब पर "वर्किंग सेट", "प्राइवेट वर्किंग सेट", "शेयर्ड वर्किंग सेट", और "कमिट साइज" कॉलम को देखते हुए।
  • प्रोसेस एक्सप्लोरर में समान मेमोरी से संबंधित कॉलम को देखते हुए।
  • मैंने Sysinternals RAMMap चलाने की कोशिश की है, लेकिन जब मुझे कम-मेमोरी संकट हो रहा है, तो यह लॉन्च के समय क्रैश हो जाता है। एक बार जब मैं इस समस्या को हल कर लेता हूं, तो RAMMap सामान्य रूप से चलता है, लेकिन इस बिंदु पर बहुत देर हो चुकी है।

सभी बहुत कम मात्रा में मेमोरी का उपयोग दिखाते हैं।

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

  1. सभी सूचीबद्ध प्रक्रियाओं द्वारा उपयोग की जाने वाली मेमोरी की तुलना में कुल मेमोरी का उपयोग क्यों अधिक है, कोई फर्क नहीं पड़ता कि मैं उन्हें कैसे गिनने की कोशिश करता हूं?
  2. विंडोज़ कैसे "पता" कर सकता है कि मेमोरी का उपयोग यह जानने के बिना किया जाता है कि प्रोग्राम क्या उपयोग कर रहा है?
  3. क्या प्रक्रियाएँ संभवतः मेमोरी का उपयोग कर सकती हैं लेकिन सूची में दिखाई नहीं देती हैं?
  4. क्या कोई ऐसा सॉफ्टवेयर है जो उपयोग की गई मेमोरी के बारे में अधिक जानकारी दे सकता है?

मेरी स्वयं की समस्या के लिए विशिष्ट विवरण: Windows 8.1 में अपग्रेड करने के बाद से, जैसे ही मैं लॉग इन करता हूं यह समस्या आती है। जैसे ही मैंने कोई कार्यक्रम चलाया मैं मेमोरी से बाहर चला जाता हूं। मैंने प्रोसेस एक्सप्लोरर में देखा कि iexplore.exe के कई उदाहरण चल रहे थे, जाहिरा तौर पर स्वचालित रूप से शुरू हुआ। एक विशेष उदाहरण केवल कुछ एमबी रैम का उपयोग कर रहा था, लेकिन सैकड़ों लाखों पृष्ठ दोष दिखाए। एक जोर से, मैंने उस विशिष्ट प्रक्रिया को मार दिया, और स्मृति उपयोग तुरंत 70% तक गिर गया।

एक विशिष्ट प्रश्न के लिए अग्रणी:

  • एक प्रक्रिया को कैसे मार सकता है जो माना जाता है कि केवल कुछ एमबी मुफ्त में कई जीबी का उपयोग करता है?

और (संभवत: कठिन) बोनस प्रश्न:

  • विंडोज को फिर से स्थापित करने के बाद, हर बार जब मैं अपने कंप्यूटर को रिबूट करता हूं, तो मैं इससे कैसे बच सकता हूं?

3
कर्नेल मेमोरी भी उपयोग में आती है। RAMMAp की पोस्ट तस्वीर: blogs.technet.com/b/askperf/archive/2010/08/13/…
magicandre1981

2
मुझे लगता है कि सवाल का शीर्षक होना चाहिए "मैं स्मृति से बाहर क्यों चल रहा हूं।"
सर्फस

यह सवाल बिना बारीकियों के जवाब देना असंभव है। स्थापित कार्यक्रमों की सूची बनाएं। या बेहतर अभी तक, प्रदर्शन मॉनिटर से चल रही प्रक्रियाओं का एक डंप।
सर्फास

1
क्या आप वास्तव में अपने कंप्यूटर को पूरी तरह से बंद / पुनः आरंभ कर रहे हैं या क्या आप हाइब्रिड शटडाउन का उपयोग करते हैं (विंडोज 8 में डिफ़ॉल्ट)? विंडोज 8 पर स्विच करने के बाद मुझे एक समान समस्या थी। मुझे लगता है कि एक ड्राइवर ने अधिक से अधिक मेरी शारीरिक रैम ली और कंप्यूटर को बंद करने के बाद भी उसे वापस नहीं दिया। कुछ ही हफ्तों में यह कई गीगाबाइट तक जमा हो गया। इसलिए अब हर कुछ दिनों में मैं "रिस्टार्ट" पर क्लिक करता हूं या "शट डाउन" पर क्लिक करते हुए शिफ्ट पकड़ता हूं, ताकि वास्तव में पीसी बंद हो जाए।
रॉबर्ट

2
मेरे मामले में यह "डायनेमिक मेमोरी" सक्षम होने के कारण हाइपर-वी द्वारा आरक्षित "ड्राइवर लॉक्ड" मेमोरी थी। मुझे सभी वीएम को रोकना था, सेटिंग को अक्षम करना और उन्हें पुनरारंभ करना था। RAMMap सुझाव के लिए धन्यवाद।
डेगफेल १४'१

जवाबों:


7

वैसे, आपको "मेमोरी" शब्द का उपयोग नहीं करने की कोशिश करनी चाहिए। इससे बहुत भ्रम पैदा होता है। यदि आप भौतिक स्मृति से तात्पर्य रखते हैं, तो "भौतिक स्मृति" या "RAM" कहें। अगर आपको वर्चुअल मेमोरी से मतलब है, तो ऐसा कहें। अगर आपका मतलब स्टोरिंग से है, तो कहें।

सभी सूचीबद्ध प्रक्रियाओं द्वारा उपयोग की जाने वाली मेमोरी की तुलना में कुल मेमोरी का उपयोग क्यों अधिक है, कोई फर्क नहीं पड़ता कि मैं उन्हें कैसे गिनने की कोशिश करता हूं?

क्योंकि ऑपरेटिंग सिस्टम भौतिक मेमोरी (RAM) को बर्बाद नहीं करता है जब तक कि उसके पास कोई विकल्प न हो।

विंडोज़ कैसे "पता" कर सकता है कि मेमोरी का उपयोग यह जानने के बिना किया जाता है कि प्रोग्राम क्या उपयोग कर रहा है?

क्योंकि कोई भी प्रोग्राम इसका उपयोग नहीं कर रहा है। उदाहरण के लिए, स्मृति जिसमें एक प्रोग्राम के लिए कोड होता है जिसे अभी समाप्त किया गया है। कोई कार्यक्रम इसका उपयोग नहीं कर रहा है। लेकिन उस मेमोरी का उपयोग किया जाता है, क्योंकि यह मुफ़्त नहीं है और इसमें डेटा होता है जो उपयोगी हो सकता है (यदि प्रोग्राम फिर से चलता है)।

क्या प्रक्रियाएँ संभवतः मेमोरी का उपयोग कर सकती हैं लेकिन अब सूची में दिखाई देंगी?

यह प्रक्रियाओं द्वारा उपयोग नहीं किया जाता है।

क्या कोई ऐसा सॉफ्टवेयर है जो उपयोग की गई मेमोरी के बारे में अधिक जानकारी दे सकता है?

RAMMap ऐसा कर सकता है।

केवल दो संभावनाएं हैं, रैम का उपयोग किया जा सकता है या इसे बर्बाद किया जा सकता है। जाहिर है, पहला बेहतर है। कोई भी मुफ्त मेमोरी हमेशा के लिए बर्बाद हो जाती है - एक 4GB मशीन 6GB कल का उपयोग करने के लिए आज 2GB का उपयोग नहीं कर सकती है। यदि आप सोच रहे हैं "मैं इसे अभी मुक्त चाहता हूं तो मैं इसे बाद में उपयोग कर सकता हूं", यह भूल जाओ। आप इसे अभी उपयोग कर सकते हैं और बाद में उपयोग कर सकते हैं ।

एक प्रक्रिया को कैसे मार सकता है जो माना जाता है कि केवल कुछ एमबी मुफ्त में कई जीबी का उपयोग करता है?

आप भौतिक मेमोरी नहीं, बैकिंग स्टोर पर कम चल रहे हैं। आपके पास बहुत सारी मुफ्त भौतिक मेमोरी है, लेकिन वर्चुअल मेमोरी को आवंटित करने के लिए ओएस के लिए अपर्याप्त बैकिंग स्टोर है जिसे बैकिंग की आवश्यकता हो सकती है।

यह प्रक्रिया केवल कुछ MB भौतिक मेमोरी का उपयोग कर रही थी, लेकिन OS को इसके लिए कई GB समर्थित वर्चुअल मेमोरी आरक्षित करनी पड़ सकती थी। उदाहरण के लिए, मान लें कि एक प्रक्रिया 2GB फ़ाइल की एक लेखन योग्य, निजी मेमोरी मैपिंग बनाती है। ओएस को इस प्रक्रिया के लिए 2GB समर्थित वर्चुअल मेमोरी को आरक्षित करना होगा, क्योंकि यह उस मैपिंग के हर एक बाइट को लिख सकता है। इसके अलावा, यह उनमें से किसी को भी नहीं लिख सकता है। यही कारण है कि आपको एक अच्छे आकार की पेजिंग फ़ाइल की आवश्यकता है।

आधुनिक ऑपरेटिंग सिस्टम बहुत सारे चेक लिखते हैं (होनहार बैकिंग स्टोर) जिसे कभी भी कैश नहीं किया जाएगा (RAM की आवश्यकता होती है)। अगर आप पहले से ही बड़े चेक का एक गुच्छा लिख ​​चुके हैं, जो कैश हो सकता है या नहीं मिल सकता है (तो जितना बैकिंग स्टोर का वादा किया है) अगर आप बैंक में बहुत पैसा रखते हैं, तो भी आप चेक (होनहार बैकिंग स्टोर) नहीं रख सकते। जैसा आपके पास है)। पेजिंग फाइलें बैकिंग स्टोर को जोड़ती हैं, जिससे ओएस को लेखन की जांच करने की अनुमति मिलती है।


14
पुनश्च: मैं "मेमोरी" शब्द का उपयोग कर रहा हूं क्योंकि मैं रैम और वीएम के बीच अंतर नहीं जानता हूं, लेकिन क्योंकि मेरा कंप्यूटर केवल मुझे बता रहा है कि यह "मेमोरी" से बाहर है, मुझे कोई जानकारी दिए बिना यह वास्तव में क्या है? माध्यम। (मुझे लगता है कि इसका मतलब है RAM, उन कारणों के लिए जो मैं पिछली टिप्पणी में निर्दिष्ट करता हूं, लेकिन मैं निश्चित नहीं हूं।) मैं चाहता हूं कि आप वास्तविक शब्दकोष का उपयोग करें (जो कि यदि आवश्यक हो तो मैं देख सकता हूं) विस्तृत वित्तीय रूपकों की तुलना में :)
जोश

91
-1 क्योंकि उत्तर और सभी टिप्पणियों को पढ़ने के बाद, यह अभी भी स्पष्ट नहीं है कि कुल उपयोग की गई मेमोरी सभी सूचीबद्ध प्रक्रियाओं द्वारा उपयोग की जाने वाली मेमोरी की तुलना में बहुत अधिक है।
बेनेट McElwee

6
वह शब्दावली, जहाँ स्मृति का "उपयोग" किया जाता है, भले ही कोई कार्यक्रम उसका उपयोग न कर रहा हो, "इस्तेमाल" और "मुक्त" जैसे शब्दों के सामान्य अर्थ से काफी विपरीत है - शायद यह Microsoft की शब्दावली है, आपकी नहीं। वैसे भी, उदाहरण के लिए मान लें कि 50% RAM वर्तमान में प्रोग्राम चलाकर उपयोग की जाती है, और 25% का उपयोग किसी भी चल रहे प्रोग्राम द्वारा नहीं किया जाता है, लेकिन इसमें ऐसे डेटा होते हैं जो भविष्य में उपयोगी हो सकते हैं, लेकिन इन्हें खारिज भी किया जा सकता है। उन लोगों को एक साथ जोड़ना और "मेमोरी: 75%" प्रदर्शित करना उपयोगकर्ता के लिए कोई उपयोगी जानकारी नहीं देता है। मुझे लगता है कि व्यापक भ्रम कहां से आता है।
बेनेट मैकलेवे 23

2
@BennettMcElwee एक साधारण संख्या में मेमोरी उपयोग को कम करने का कोई अच्छा तरीका नहीं है, लेकिन उपयोगकर्ता इस पर जोर देते हैं। यह डेवलपर्स को असुविधाजनक स्थिति में रखता है - वे एक संख्या प्रदान कर सकते हैं जो हमेशा मददगार नहीं होती है या कोई संख्या प्रदान नहीं करती है। अधिकांश ओएस और जीयूआई डेवलपर्स पहला विकल्प चुनते हैं - वे एक संख्या प्रदान करते हैं जो बहुत सारे भ्रम की ओर जाता है। यदि आपका प्रश्न है "अधिक रैम मेरे सिस्टम को बेहतर बना देगा", तो इसका उत्तर है - विशेषज्ञों के लिए भी यह बताना बहुत कठिन है।
डेविड श्वार्ट्ज

2
@DavidSchwartz आपका उत्तर इस तरह की व्याख्या नहीं करता है, यह बस इसे बताता है। क्या आप उस विशिष्ट दावे को वापस करने के लिए कोई लिंक प्रदान कर सकते हैं? मैं "भौतिक मेमोरी XX%" की व्याख्या कर रहा हूं इसका मतलब है कि शारीरिक रूप से स्थापित रैम का XX% वर्तमान में उपयोग किया जा रहा है और अन्य प्रक्रियाओं के लिए अनुपलब्ध है। मेरा मानना ​​है कि मैं इस तथ्य से मान्य हूं कि 90% से ऊपर सिस्टम लॉकअप से ग्रस्त हो जाता है, और जब अनुप्रयोग 100% से अधिक मेमोरी आवंटित करने का प्रयास करते हैं, तो वे पूरी तरह से दुर्घटनाग्रस्त हो जाते हैं। मेरे अनुभव में, यह मानक शासन नहीं है जहां अधिकांश सिस्टम संचालित होते हैं।
जॉन नेहौस
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.