कोई पृष्ठ फ़ाइल का उपयोग करते समय प्रतिबद्ध शुल्क 100% पूर्ण है लेकिन भौतिक मेमोरी केवल 60% है


25

मैंने अपने सिस्टम में पृष्ठ फ़ाइल को अक्षम कर दिया है (हार्ड डिस्क बहुत धीमी है, तुरंत एक नया नहीं खरीद सकता, पृष्ठ फ़ाइल को किसी अन्य पार्टीशन में स्थानांतरित नहीं कर सकता)। जब मैं संसाधन मॉनीटर में देखता हूं, तो मेमोरी की मांग वाले अनुप्रयोगों का उपयोग करते हुए, सिस्टम दिखाता है कि प्रतिबद्ध शुल्क लगभग 100% भरा हुआ है। वास्तव में, अगर मैं अधिक मेमोरी की मांग करता रहता हूं, तो प्रोग्राम क्रैश होने लगते हैं क्योंकि कम से कम चार्ज प्रभावी रूप से 100% तक पहुंच जाता है।

इस बीच, सिस्टम कहता है कि मैं केवल 50-60% भौतिक मेमोरी का उपयोग कर रहा हूं और लगभग 1 जीबी मेमोरी उपलब्ध है (फ्री + स्टैंडबाय)।

अगर कमिट चार्ज वास्तव में मांगी गई कुल मेमोरी है, तो सिस्टम क्यों कहता है कि कितनी मेमोरी फ्री है? क्या विंडोज द्वारा भौतिक मेमोरी का उपयोग नहीं किया जा रहा है? क्या मेमोरी ग्राफ गलत है? क्या मैं कुछ भूल रहा हूँ?

फिजिकल मेमोरी ग्राफ बनाम कमिट ग्राफ कार्य प्रबंधक


2
विषय पर एक और अच्छा जवाब यहाँ है: brandonlive.com/2010/02/21/measuring-memory-usage-in-windows-7
cnst

@ बहुत अच्छा लेख। इसने मुझे इस मुद्दे को बेहतर तरीके से समझने में मदद की। आप इसे प्रतिक्रिया के रूप में पोस्ट क्यों नहीं करते?
जेसन

2
कृपया अपनी पृष्ठ फ़ाइल लोगों को अक्षम न करें। यह एक गूंगा विचार है
मिलनी

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

@JasonOviedo यह मामला नहीं होना चाहिए और इंगित करता है कि कुछ बहुत गलत है। सिस्टम को अधिक विकल्प देते हुए इसे धीमा नहीं बनाना चाहिए । सिस्टम को पृष्ठ फ़ाइल का उपयोग केवल इसलिए नहीं करना है क्योंकि इसमें एक है। (जिसका अर्थ है कि यह शायद एक XY प्रश्न है। सही प्रश्न ठीक है कि पृष्ठ फ़ाइल ने आपके सिस्टम को धीमा क्यों बना दिया है।)
डेविड श्वार्ट्ज

जवाबों:


26

जब आप अभी भी उपलब्ध रैम के बहुत सारे हैं, तो प्रतिबद्ध सीमा से बाहर चलना बिल्कुल भी असामान्य नहीं है। न तो प्रतिबद्ध सीमा और न ही प्रतिबद्ध शुल्क सीधे मुक्त या उपलब्ध रैम से संबंधित हैं।

प्रतिबद्ध सीमा = वर्तमान पेजफाइल आकार + रैम आकार।

चूंकि आपके पास कोई पृष्ठ फ़ाइल नहीं है, इसलिए यदि आप एक पृष्ठ फ़ाइल रखते हैं तो यह प्रतिबद्ध सीमा से कम है। इससे कोई फर्क नहीं पड़ता कि रैम कितनी मुक्त है । सीमा के लिए प्रतिबद्ध के लिए, केवल RAM की मात्रा स्थापित मायने रखती है। आप अपने रैम के 90% मुफ्त या उपलब्ध होने के बावजूद भी कमिट सीमा से बाहर रह सकते हैं।

कमिट चार्ज वर्चुअल मेमोरी की गिनती है, भौतिक नहीं। मान लीजिए कि मेरा प्रोग्राम 2 जीबी के लिए प्रतिबद्ध है, लेकिन तब यह केवल 5 जीबी तक ही पहुंच पाता है। शेष 1.5 जीबी में कभी गलती नहीं होती है, कभी भी रैम को असाइन नहीं किया जाता है, इसलिए रैम का उपयोग 2 जीबी, केवल I5 जीबी को प्रतिबिंबित नहीं करता है।

फिर भी, "सिस्टम कमिट" को 2 जीबी बढ़ाया जाता है क्योंकि सिस्टम ने "प्रतिबद्ध" किया है कि मेरे 2 जीबी को रखने के लिए एक जगह होगी, क्या मुझे वास्तव में यह सब चाहिए। तथ्य यह है कि कार्यक्रम के किसी भी दिए गए रन पर मैं जरूरी नहीं कि यह सब का उपयोग करने की कोशिश करेंगे मदद नहीं करता है। मैंने 2 जीबी के लिए कहा और उस कॉल से सफल वापसी मुझे बताती है कि ओएस ने "प्रतिबद्ध" - अर्थात वादा किया है - कि मैं उस बहुत ही आभासी स्थान का उपयोग कर सकता हूं। ओएस यह वादा नहीं कर सकता जब तक कि इसे रखने के लिए कुछ जगह न हो।

तो: अपना पेजफाइल वापस डालें, अधिक रैम जोड़ें, या एक समय में कम सामान चलाएं। या तीनों का कुछ संयोजन। ये "मेमोरी पर कम" और "मेमोरी से बाहर" त्रुटियों से बचने के लिए आपके एकमात्र विकल्प हैं।

मेरे उत्तर यहां (अब) और यहां (बहुत अधिक) देखें।


3
विशेष रूप से, इससे पहले कि विंडोज मेमोरी को आवंटित करेगा, यह गारंटी देना चाहता है कि यह इन आवंटन को पूरा कर सकता है जब उनका उपयोग किया जाता है। यहां तक ​​कि अगर आवंटन पूरी तरह से उपयोग नहीं किए जाते हैं, तो विंडोज अधिक आवंटित करने से इंकार कर देगा यदि यह गारंटी नहीं दे सकता है। एक पृष्ठ फ़ाइल, चाहे उपयोग की गई हो या नहीं, अतिरिक्त बैकअप संग्रहण प्रदान करती है।
बॉब

4

Http://brandonlive.com/2010/02/21/measuring-memory-usage-in-windows-7/ इलस्ट्रेट्स के लेख में मेमोरी आवंटन परीक्षण के रूप में , विंडोज एक प्रकार का सिस्टम है जो एक बड़े मेमोरी आवंटन को विफल कर देगा अगर इस तरह का आवंटन, सभी पूर्व आवंटन (अवधारणा Microsoft "कमिट" के रूप में कहता है) के साथ, भौतिक मेमोरी और सभी पेज फ़ाइलों (स्वैप) के योग के ऊपर कुल "कमिट" लाएगा।

इस बात पर विचार करें कि उपरोक्त आवंटन के लिए प्रक्रिया के आभासी पते के स्थान पर पढ़ने या लिखने से पहले कोई आवंटन अपने आप में कोई वास्तविक मेमोरी (न तो भौतिक और न ही स्वैप) का उपयोग करता है । उदाहरण के लिए, अपने आप में एक 2GB आवंटन केवल "कमिट" संख्या (विंडोज 7 टॉक में) को प्रभावित करेगा , "फिजिकल मेमोरी" को अकेला छोड़ देगा (जब तक कि उक्त आवंटन में रीड / राइट न हो जाए)।

जहां तक ​​OS डिज़ाइन जाता है, वैकल्पिक दृष्टिकोण हमेशा किसी भी आकार के आवंटन की अनुमति देगा (जब तक कि उपलब्ध मेमोरी पहले से पूरी तरह से समाप्त न हो जाए), और उसके बाद एप्लिकेशन को इसके बजाय पढ़ने / लिखने में विफल होने दें। अधिक जानकारी के लिए /cs/42877/when-theres-no-memory-should-malloc-or-read-write-fail देखें ।


2
हाँ। विंडोज के दृष्टिकोण के लिए तर्क: यह उचित है कि प्रोग्रामर एक मॉलोक की स्थिति की जांच करें (या, Win32, VirtualAloc में)। एक बार जब वह कॉल सफल हो जाता है तो प्रोग्राम को भरोसा हो सकता है कि आवंटित किया गया वीएएस प्रयोग करने योग्य है और तब तक रहेगा जब तक वह संबंधित फ्री या वर्चुअलफ्री न हो जाए। दूसरा तरीका, सामान्य मेमोरी पढ़ता है और लिखता है (यानी पॉइंटर्स की डेरेफेरिंग) मेमोरी एक्सेस अपवाद बढ़ा सकता है। लेकिन किसी भी प्रोग्रामर को उम्मीद नहीं है कि वह हर पॉइंटर डेरेक्शन के बाद स्टेटस चेक करेगा। वे किसी भी स्थिति में वापस नहीं आते हैं, इसलिए इसे अपवाद हैंडलर के साथ करना होगा। बदसूरत।
जेमी हनरहान

2

उपलब्ध स्मृति वह नहीं है जो आपको लगता है कि यह होगा। यह अप्रयुक्त नहीं है कि यह वास्तव में हाल ही में समाप्त प्रक्रियाओं या ट्रिम की गई प्रक्रियाओं का एक फ़ाइल कैश है जो अन्य प्रक्रियाओं को कुछ मेमोरी देने के लिए मजबूर किया गया है। उन्हें वहाँ मूल उद्देश्य के लिए वापस बुलाया जा सकता है। अधिक विस्तार के लिए देखें।

http://support.microsoft.com/kb/312628

के रूप में एक पृष्ठ फ़ाइल नहीं है यह बहुत बुरा है। विंडोज एक के बिना खराब हो जाता है। याद रखें यहां तक ​​कि निष्पादन योग्य फ़ाइलों का उपयोग स्वैप फ़ाइलों के रूप में किया जाता है जब कोई पृष्ठ फ़ाइल नहीं होती है। यहां तक ​​कि अगर ड्राइव धीमा है, तो पेज फाइल रखना बेहतर है, जब तक कि आपको 8 से 16 गीगाबाइट तक की मेमोरी न मिल जाए। कुछ लोगों को लगता है कि विंडोज 7 भी एक के बिना चल सकती है।

मैं नियमित रूप से पुरानी मशीन को कुछ चीजें करके बढ़ावा देता हूं। जितना संभव हो हार्ड ड्राइव को साफ करें। कुछ भी कॉपी करें जिसे आप अस्थायी रूप से बैकअप पर ड्राइव से हटा सकते हैं। उन अनुप्रयोगों को निकालें जिनकी आपको आवश्यकता नहीं है। ऐप्स हटा सकते हैं पुनर्स्थापित करें।

जब वह सब किया जाता है जो आपकी हार्ड डिस्क को डीफ़्रैग्मेन्ट करता है। उस बिंदु पर अपनी पृष्ठ फ़ाइल को फिर से बनाएँ। यह ड्राइव के सामने के सबसे करीब होगा जितना संभव हो। 1.5 गुना मेमोरी के बारे में एक निश्चित आकार बनाएं। मेरा नियम, आमतौर पर मैंने 1 और 3 बार स्मृति के बीच आकार देखा है। यह इसे उन सामान्य स्थानों पर गति में मामूली वृद्धि देगा जो इसे रखा जाएगा।

मैं इसका उपयोग करते हुए एनसोलॉजिकल डिफैगर का उपयोग करता हूं (हालांकि अधिक टूल के विज्ञापन)। अन्य भी हैं जो ऐसा करते हैं। Portableapps.com पर दोषियों की जाँच करें। यह हाल ही में एक्सेस की गई फ़ाइलों को तेज एक्सेस के लिए ड्राइव के सामने स्थित करके डिस्क को ऑप्टिमाइज़ करता है। यह दिखाता है कि पृष्ठ फ़ाइल को कहाँ रखा गया है ताकि आप देख सकें कि आपने इसे ड्राइव के शीर्ष 25% पर स्थानांतरित किया है या नहीं।

इसके बाद ऐप्स को फिर से इंस्टॉल करें और अपना डेटा वापस कॉपी करें।

मैं कहूंगा कि आपको 10 या 20% बढ़ावा मिलेगा। लेकिन मुख्य मूल्य एक बहुत ही हिचकिचाहट है एक चिकनी अनुभव के लिए दूर चला जाता है।


3
कुछ परीक्षण का उपयोग करते हुए, यह मेरे लिए स्पष्ट है कि जब डिस्क बहुत धीमी है, तो पेज फ़ाइल नहीं होने से वास्तव में सिस्टम को गति मिलती है। मैं ऐप स्विचिंग के रूप में सरल कार्यों में कई सेकंड का अंतर बता सकता हूं।
जेसन ओविदो

@ मर्क यू आर मिस्टेक। विंडोज सिस्टम का अधिकांश हिस्सा एक पेजफाइल के साथ चलता है (क्योंकि यह है कि विंडोज डिफ़ॉल्ट रूप से, अच्छे और पर्याप्त कारण से कैसे चलता है) और लगभग सभी समान गति वाले डिस्क का उपयोग करते हैं। और उनमें से लगभग कोई भी ऐसी कोई समस्या नहीं दिखाता है। समस्या "पेजफाइल" नहीं है, यह है कि आपके पास पर्याप्त रैम नहीं है। कृपया ध्यान दें कि पेजफाइल से छुटकारा पाना डिस्क से पेजिंग को खत्म नहीं करता है - यह केवल आम तौर पर पेजिंग में शामिल सैकड़ों फाइलों में से एक को खत्म कर देता है।
जेमी हन्रान
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.