अगर मेरे पास बहुत सारी रैम है तो क्या मुझे स्वैप फाइल को अक्षम करना चाहिए या क्या मुझे इसे एक वर्चुअल रैम ड्राइव में स्थानांतरित करना चाहिए?


97

कल्पना कीजिए कि मेरे पास टन है। आइए बताते हैं 64GB। यह गेमिंग पीसी के लिए भी बहुत कुछ है। अब विंडोज में पेजफाइल का डिफ़ॉल्ट स्थान मुख्य ओएस ड्राइव पर है, चाहे वह एचडीडी या एसएसडी हो, जो सामान्य रूप से तेज हो, लेकिन फिर भी रैम जितना तेज नहीं है।

कुछ मुझे बताता है कि हार्ड ड्राइव पर पेजफाइल को अक्षम करना या वर्चुअल रैम ड्राइव बनाना और पेजफाइल को वहाँ रहने देना विंडोज़ को रैम के सभी वर्चुअल मेमोरी को स्थानांतरित कर सकता है, और इसलिए सिस्टम के प्रदर्शन को बढ़ा सकता है, लेकिन मैं इसमें बहुत जानकार नहीं हूं क्षेत्र, ताकि यह बिल्कुल सच न हो।

मैंने दोनों की कोशिश की, लेकिन मैं परिणामों का विश्लेषण नहीं कर पाया कि स्मृति में अपने ज्ञान के स्तर के साथ एक निश्चित निष्कर्ष पर पहुंचा जाए।

क्या यह काम करेगा? यदि नहीं, तो क्यों?


57
रैम डिस्क पर पेजिंग फ़ाइल होने से कभी भी कुछ हासिल नहीं होता है। आप एक निश्चित मात्रा में उपलब्ध मेमोरी को हटाते हैं और एक निश्चित मात्रा में वर्चुअल मेमोरी को जोड़ते हैं। अशक्त-राशि। बस कोई पेजिंग फ़ाइल नहीं है।
usr

14
कुछ मामलों में लिनक्स पर ऐसा करने के लिए कुछ मामलों में जहां स्वैप फ़ाइल की मेजबानी करने वाली रैम डिस्क वास्तव में संकुचित होती है। देखें: en.wikipedia.org/wiki/Zram । हालाँकि मुझे नहीं लगता कि विंडोज में ऐसी कोई सुविधा उपलब्ध है।
मैट एच।

2
इसका उत्तर हां है, लेकिन बहुत सारे अविश्वासी हैं।
मेहरदाद

14
@ user367257 अपनी पेज फ़ाइल को स्टोर करने के लिए एक राम डिस्क बना रहा है, अपने दोस्त को £ 10 उधार देने के समान है, ताकि उसके पास आपके पास £ 10 उधार लेने की अनुमति देने के लिए पर्याप्त धन हो। यह तकनीकी रूप से संभव हो सकता है, लेकिन आप सभी को पूरा करने के लिए एक यात्रा कहीं नहीं है।
रोब मोइर

2
मैं केवल SSD के लिए इसे बंद (और करूँगा) करता हूँ, क्योंकि आप केवल 6GB के साथ बहुत सारे लिखते हैं (भले ही अभी यह बहुत है)। यह अच्छा काम करता है।
Ry-

जवाबों:


134

कोई फर्क नहीं पड़ता कि आपके पास कितनी रैम है, आप चाहते हैं कि सिस्टम इसे कुशलता से उपयोग करने में सक्षम हो। सभी कारणों से कोई भी पेजिंग फ़ाइल ऑपरेटिंग सिस्टम को दो कारणों से RAM का अकुशल रूप से उपयोग करने के लिए बाध्य नहीं करती है। सबसे पहले, यह पृष्ठों को अस्वीकार्य नहीं बना सकता है, भले ही वे बहुत लंबे समय तक एक्सेस या संशोधित नहीं किए गए हों, जो डिस्क कैश को छोटा करने के लिए मजबूर करता है। दूसरा, इसे भौतिक RAM को वापस आबंटन के लिए आरक्षित करना होगा जो कि कभी भी इसकी आवश्यकता की संभावना नहीं होती है (उदाहरण के लिए, एक निजी, परिवर्तनीय फ़ाइल मानचित्रण), एक ऐसे मामले की ओर ले जाती है जहाँ आपके पास बहुत सारी मुफ्त भौतिक रैम हो सकती है और अभी तक आवंटन से इनकार कर दिया जाता है। ओवरकमिटिंग से बचें।

उदाहरण के लिए, यदि कोई प्रोग्राम 4 जीबी फ़ाइल की एक लिखने योग्य, निजी मेमोरी मैपिंग बनाता है। ओएस को इस मैपिंग के लिए 4 जीबी रैम आरक्षित करना पड़ता है, क्योंकि प्रोग्राम हर बाइट को संशोधित कर सकता है और इसे स्टोर करने के लिए कोई जगह नहीं बल्कि रैम है। तो तुरंत, 4 जीबी की रैम मूल रूप से बर्बाद हो जाती है (इसका उपयोग स्वच्छ डिस्क पृष्ठों को कैश करने के लिए किया जा सकता है, लेकिन यह इसके बारे में है)।

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

आपके ऑपरेटिंग सिस्टम के व्यवहार को डिजाइन करने वाले लोग मूर्ख नहीं हैं। पेजिंग फ़ाइल होने से ऑपरेटिंग सिस्टम को अधिक विकल्प मिलते हैं, और यह खराब नहीं होगा।

रैम में पेजिंग फ़ाइल डालने की कोशिश करने का कोई मतलब नहीं है। और अगर आपके पास बहुत सारी रैम है, तो पेजिंग फ़ाइल का उपयोग करने की संभावना बहुत कम है (यह सिर्फ वहां होने की आवश्यकता है) इसलिए यह विशेष रूप से कोई फर्क नहीं पड़ता कि यह कितनी तेजी से डिवाइस पर है।


9
मैं नीचता का विरोध कर रहा था। लेकिन आपकी अंतिम टिप्पणी के लिए: मैं 2 अलग-अलग मशीनों को चलाता हूं w / o स्वैप। यह पूरी तरह से ठीक है अगर आपको पता है कि मशीन का उपयोग कैसे किया जा रहा है।
१२'१४ को

6
मुझे संदेह है कि रामड्राइव में पेज फाइल एक कार्गो पंथ "वर्कअराउंड" के रूप में शुरू हुई, इस तथ्य के लिए कि कुछ सॉफ्टवेयर शुरू करने से इंकार कर देगा यदि यह पता लगाता है कि यह पेज फाइल नहीं है। (मुझे बताया गया है कि Adobe के ग्राफिक्स / वीडियो टूल ऐसा करते हैं।)
Dan Neely

8
@DavidSchwartz आपके द्वारा दी गई जानकारी तकनीकी रूप से सही है, और यह अच्छी जानकारी है। लेकिन आप जिस निष्कर्ष पर पहुंचते हैं कि आपके पास हमेशा एक पेज फ़ाइल होनी चाहिए, भले ही आपके पास कितनी भी रैम क्यों न हो, वह सही नहीं है और मैं अपने दावे के साथ खड़ा हूं कि यह स्वीकृत जवाब नहीं होना चाहिए।
जेसन व्हीलर

5
मुझे यह सुनना पसंद नहीं है कि "पेजफाइल्स जादू हैं, इसलिए उन्हें बंद न करें या आपको खेद होगा" जब मुझे पता है कि कई सामान्य परिस्थितियों में आप उन्हें बंद कर सकते हैं, और सुरक्षित रूप से प्रदर्शन में सुधार देख सकते हैं क्योंकि आप जब भी MMS कुछ करना चाहता है, तो डिस्क I / O में 100% या उससे अधिक वृद्धि नहीं होती है। मैं इस बहस के दूसरी तरफ लोगों से सुनना चाहता हूं "हां, ऐसी परिस्थितियां हैं जहां आप उन्हें बंद कर सकते हैं और डिस्क I / O को कम कर सकते हैं जिसके परिणामस्वरूप थ्रैश हो सकता है"। मैं यह नहीं कह रहा हूं कि पेजफाइल्स हमेशा खराब होते हैं, शायद आप कह सकते हैं कि वे हमेशा आवश्यक नहीं होते हैं।
फ्रेड हैमिल्टन

5
मुझे एहसास हुआ कि मुझे इस सब के बारे में क्या पता था कि एक पक्ष कहता है कि "पेजफाइल्स कभी कुछ नहीं करते हैं लेकिन अच्छा करते हैं" और दूसरी तरफ "पेजफाइल्स भयानक होते हैं" और फिर लोग एक तरफ या दूसरे पर फंस जाते हैं। "सच्चाई" यह है कि कुछ मामलों में वे बहुत उपयोगी होते हैं और यहां तक ​​कि दुर्घटना को रोकने वाले भी होते हैं और अन्य मामलों में उनकी आवश्यकता नहीं होती है और वास्तव में प्रदर्शन में कमी हो सकती है। मैं अपने अंतिम वक्तव्य की परवाह किए बिना खुश हूं। लाइव लंबी और समृद्ध, @ डेविड Schwartz।
फ्रेड हैमिल्टन

32

आप अपनी धारणा में पूरी तरह से सही हैं।

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

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

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

कुछ मशीनों पर, विशेष रूप से जो कि HDD नहीं SSD पर स्वैप फ़ाइल रखते हैं, स्वैपिंग को अक्षम करने से प्रभाव बहुत ध्यान देने योग्य है। दूसरों पर यह इतना स्पष्ट नहीं है। लेकिन अगर आपको स्पष्ट सुधार नहीं मिलता है, तो इसे दूसरे तरीके से सोचें, स्वैपिंग को अक्षम करके आप अपने SSD पर कुछ डिस्क स्थान को बचा लेंगे।

स्वैपिंग को अक्षम करके, आप मेमोरी एल्गोरिदम को अनावश्यक ऑपरेशन करने से भी रोकेंगे - एसएसडी के मामले में रैम से स्वैप और इसके विपरीत डेटा को स्थानांतरित करने से यह अत्यधिक पहनने से रोकेगा। और किसी भी मामले में यह अनावश्यक संचालन को समाप्त करके प्रदर्शन में सुधार करेगा।

यह भी पढ़ें:


2
@ क्रिस आप शायद एक वर्ड प्रोसेसर में एक sql डेटाबेस को लोड करने में भी सक्षम नहीं होंगे, क्योंकि वे पूरी तरह से RAM :-) में चलते हैं
TylerH

9
यह उत्तर गलत है और इसमें बहुत सारी गलत सूचनाएँ हैं। लेकिन यह देखने का सरल तरीका कि यह गलत क्यों है - आपके ऑपरेटिंग सिस्टम के मेमोरी व्यवहार को डिजाइन करने वाले लोग शायद दुनिया के सबसे स्मार्ट लोगों में से कुछ हैं। वे ऐसी प्रणाली क्यों डिजाइन करेंगे, जो इसे और अधिक विकल्प (यदि स्वैप करने का विकल्प है, और यदि यह सबसे अच्छा है, तो यह सबसे अच्छा विकल्प है) देने से इसका प्रदर्शन बिगड़ जाएगा? केवल एक बेवकूफ एक प्रणाली की तरह डिजाइन करेगा।
डेविड श्वार्ट्ज

17
@DavidSchwartz, मैं यह नहीं देखता कि स्मृति प्रबंधन एल्गोरिदम विकसित करने वाले लोग कैसे स्मार्ट हैं, मूल विषय से कोई फर्क पड़ता है। ओपी ने पूछा है कि क्या स्वैपिंग को अक्षम करने से प्रदर्शन में सुधार हो सकता है और मैंने समझाया है कि यह कुछ शर्तों के तहत हो सकता है और अन्य परिस्थितियों में समस्याएं पैदा कर सकता है। अपने प्रश्न का उत्तर क्यों (?) - मैं कह सकता हूं, क्योंकि एल्गोरिदम सही नहीं हैं और यह उपयोगकर्ता के लिए है कि वे उन्हें ठीक करें। यही कारण है कि लिनक्स में स्वैपीनेस पैरामीटर है और यही कारण है कि स्वैपिंग को अक्षम करना हर संभव है।
आर्ट गर्टनर

11
@smc ओपी के उपयोग के मामले में कुछ भी असामान्य नहीं है। यह धारणा कि बोग मानक उपयोग के मामलों के लिए ऑपरेटिंग सिस्टम ठीक से ट्यून नहीं हैं , पूरी बकवास है। (आप ऐसा क्यों नहीं करना चाहते हैं, इस बारे में अधिक जानकारी के लिए मेरा जवाब देखें।)
डेविड शवार्ट्ज

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

14

क्या आप सुरक्षित रूप से पेजफाइल को निष्क्रिय कर सकते हैं?

यदि आप वर्चुअल मेमोरी सहित मुक्त मेमोरी से बाहर निकलते हैं, तो सिस्टम नियतात्मक निष्पादन की गारंटी नहीं दे सकता है, और खुद को समाप्त कर सकता है। ऐसा होने से पहले, ऑपरेशन सिस्टम विभिन्न अन्य चीजें करेगा जैसे कि मारने वाले प्रोग्राम जो बहुत अधिक मेमोरी का उपयोग करते हैं। जो मैं कहना चाहता हूं वह यह है कि मेमोरी हमेशा परिमित रहती है, और हर OS इससे निपट सकता है। इसलिए कुल उपलब्ध मेमोरी को 64 जीबी तक सीमित करना विंडोज को नुकसान नहीं पहुंचाएगा - कई सिस्टम पेजफाइल के साथ भी 8 जीबी से आगे नहीं बढ़ सकते, क्योंकि 1 या 2 जीबी रैम के साथ पेजफाइल आमतौर पर 6 या 7 जीबी से काफी छोटा होता है। यह ध्यान दिया जाना चाहिए कि जब तक आपके पास अप्रयुक्त रैम की अधिक मात्रा है, तब तक ओएस के ओवरहेड एक पेजफाइल को बनाए रखने के लिए औसत दर्जे का नहीं होगा।

क्या पेजफाइल को रैमडिस्क पर रखना समझदारी है?

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

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


लेकिन अगर पेजफाइल वर्चुअल रैम ड्राइव पर है, तो कुछ मेगाबाइट को रैम से वर्चुअल हार्ड ड्राइव में कॉपी करने के लिए इस्तेमाल किया गया समय या उससे कम हो जाएगा। और अगर पेजफाइल पूरी तरह से अक्षम है, तो उस पर समय बर्बाद नहीं होना चाहिए। क्या ये सही है?
user1306322

2
सही बात। रैम से बाइट्स को एक पेजफाइल पर कॉपी करना जो कि रैमडिस्क पर है, सबसे तेज संभव पेजफाइल है। लेकिन नकल नहीं करना ज्यादा स्मार्ट है।
पीटर

2
राम की कमी की भरपाई के लिए स्वेपिल्स हैं। यदि रैम बहुत है, तो क्षतिपूर्ति करने की कोई आवश्यकता नहीं है। आपका OS अभी भी स्वैपफाइल का उपयोग करेगा, इसलिए इसे उस स्थिति में बंद करने की जल्दी है।

6
@ मैस्ट यह एक सकल निरीक्षण है। रैम के कुशल उपयोग की अनुमति देने के लिए स्वेपफाइल्स भी हैं।
डेविड श्वार्ट्ज

1
@DavidSchwartz शायद, लेकिन यह स्पष्टीकरण है कि यह मुझे सबसे अच्छा समझाया। ज्यादातर मामलों में, स्वैपैपाइल की एक छोटी मात्रा हमेशा बिना किसी स्वैप के अधिक होती है। हालाँकि, मेरे पास वापस करने के लिए संसाधन नहीं हैं।

8

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

एचडीडी / एसएसडी पर स्वैप होने से यह प्राप्त होता है कि ओएस कुछ पूरी तरह से अप्रयुक्त रैम पृष्ठों को साफ कर सकता है और जैसे फ़ाइल कैश या अन्य सिस्टम बफ़र्स के लिए मुक्त स्थान का उपयोग कर सकता है। आप महसूस नहीं कर सकते हैं कि सिस्टम इन रैम बफ़र्स को कम आवंटित करता है क्योंकि आपके पास पृष्ठ फ़ाइल के बिना कोई वर्चुअल मेमोरी उपलब्ध नहीं है; इसलिए आप स्वैप को अक्षम करके अपने प्रदर्शन को प्रभावित कर सकते हैं।

हालांकि, स्वैप ड्राइव , एक "ZSWAP" ड्राइव के रूप में एक संपीड़ित रैम डिस्क , किनारे के मामलों में फायदेमंद हो सकता है (जहां आपको HD से स्वैपिंग से बचने के लिए बस कुछ अतिरिक्त एमबी रैम की आवश्यकता हो सकती है) रैम के एक सेगमेंट में अंतरिक्ष दक्षता में सुधार करके। कुछ हद तक।


1
ZSWAP का उल्लेख करने के लिए +1। यह आमतौर पर कुछ मोबाइल प्लेटफार्मों में उपयोग किया जाता है, साथ ही ओएस एक्स 10.9 (स्वैप के अतिरिक्त) में भी उपयोग किया जा रहा है।
जेम्स_पिक

ध्यान दें कि "स्वैम्प ड्राइव के रूप में रैम डिस्क" में अभी भी समस्या है कि यह वास्तविक पेज फ़ाइल के अलावा "पेजिंग फाइल" के सभी के लिए एक काम नहीं करता है।
जेमी हनराहन

5

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

रैम में पेज फाइल का होना बेकार है, क्योंकि यह क्रैश में खो सकता है।

अधिक जानकारी के लिए, Microsoft आलेख समझ क्रैश डंप फ़ाइलें देखें


4

विंडोज के लिए, घोड़ों के मुंह से:

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

https://blogs.technet.microsoft.com/markrussinovich/2008/11/17/pushing-the-limits-of-windows-virtual-memory/

  • प्रयोग करने योग्य मेमोरी - इसलिए यद्यपि यह वर्चुअल मेमोरी होने की सलाह देता है, लेकिन यह भी सुझाव देता है कि आपको कोई बड़ी मात्रा में RAM की आवश्यकता है ताकि कोई पृष्ठ फ़ाइल / वर्चुअल मेमोरी न हो। मेरे पास 4GB RAM 128GB SSD है जिसमें कोई पेज फाइल नहीं है, लेकिन मैं इसका इस्तेमाल वेब ब्राउजिंग और टाइपिंग वर्ड डॉक्स के लिए करता हूं।

2
मेरे व्यक्तिगत सबक से, और कुछ मैं सभी नए कर्मचारियों को उपदेश देता हूं: केवल 2 नियम हैं। # 1: माइक्रोसॉफ्ट पर कभी भरोसा मत करो। # 2 .. आपने नियम 1 नहीं सुना, इसलिए कोई नियम 2 नहीं है
निक

3

स्वैप फ़ाइल को अक्षम न करें यह केवल तब के लिए नहीं है जब आप मेमोरी से बाहर निकलते हैं। इसे बंद करने में कोई प्रत्यक्ष प्रदर्शन लाभ नहीं है , खिड़कियां केवल तभी पढ़ती हैं जब इसे जरूरत होती है, यह हर समय इसे लिखता है इसलिए जब भी जरूरत होती है यह तैयार होता है।

यदि आप लगभग 4GB से अधिक है, तो आप इसे लगभग 2 / 3rds मेमोरी साइज़ में कम कर सकते हैं, क्योंकि यह मेमोरी इमेज को संकुचित कर देता है। यदि आप SSD पर स्थान नहीं रखते हैं तो आप इसे अपने हार्ड ड्राइव पर रख सकते हैं जो अन्य भारी डिस्क एक्सेस द्वारा एक्सेस नहीं किया जा सकता है। लेकिन कहीं न कहीं यह फायदेमंद है।

अधिक जानकारी के लिए यह उत्तर क्यों देखें। https://superuser.com/a/286476/4236


3

सिद्धांत रूप में, पेजफाइल को रैम में डालने से कोई मतलब नहीं होना चाहिए, क्योंकि आप केवल उस चीज को कम कर रहे हैं जिसे आप कथित रूप से प्राप्त कर रहे हैं, और विंडोज को इस धारणा पर बनाया गया है कि पेजफाइल का उपयोग ऐसे उद्देश्यों के लिए नहीं किया जाएगा।

व्यवहार में, त्रुटिपूर्ण डिजाइन और दर्शन इसे विंडोज कर्नेल में भी बना सकते हैं, और Microsoft का मेमोरी का प्रबंधन आवश्यक नहीं है। कई लोगों ने पाया है कि पेजफाइल को रामडिस्क में डालने से वास्तव में प्रदर्शन में वृद्धि होती है , जब तक कि आपके पास स्मृति की एक अच्छी मात्रा है।

मैंने एक पोस्ट संकलित की है जो एक एकल फोरम के थ्रेड से ऐसे उपयोगकर्ताओं का एक संग्रह दिखाता है जिन्होंने पाया है कि भारी मात्रा में रैम मुक्त होने के बावजूद, पेजफाइल अभी भी उपयोग किया जा रहा है:

http://www.overclock.net/t/1193401/why-it-is-bad-to-store-the-page-file-on-a-ram-disk/290#post_23508589


इस सूची को संकलित करने के लिए धन्यवाद। यह कुछ सबूतों को सामने लाने में मदद करना चाहिए जो इस मामले में सिद्धांत और व्यवहार अलग हैं। Virtual memory − A paging file is an area on the hard disk that Windows uses as if it were RAM.हाँ, मानो: p
user1306322

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

@JamieHanrahan: यह व्याख्या नहीं करता है कि रैम के एक अंश से अधिक का उपयोग करने के बावजूद लोगों के पास अभी भी समस्या क्यों है। उस थ्रेड में टिप्पणियों में शामिल हैं: "मैंने वास्तव में इसके आधे से अधिक उपयोग नहीं किया है", "पेज फ़ाइल का उपयोग लगभग 2.7GB है जहां रैम का उपयोग 16GB में से 3.23GB है।", "इलस्ट्रेटर का उपयोग करते हुए मैंने एक नाटकीय प्रदर्शन वृद्धि की थी। मैंने RAMDisk में अपना पेजफाइल बनाया और स्थानांतरित किया।
डैन डब्ल्यू

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

विशेष रूप से, दावा "पेजफाइल का उपयोग किया जा रहा है" प्रमाण मांगता है। पेजफाइल में सिर्फ जीबी के सामान होने से यह साबित नहीं होता है कि पेजफाइल का इस्तेमाल उस तरीके से किया जा रहा है जो इसे एक महत्वपूर्ण रास्ते में डालता है। इसका मूल्यांकन करने के लिए, पृष्ठ विभाजन को स्वयं - या कम से कम, जो कि किसी और चीज के लिए सक्रिय रूप से उपयोग में नहीं है - को अलग करें और फिर आप इसकी "तार्किक डिस्क" पर IM दरों की निगरानी के लिए PerfMon का उपयोग कर सकते हैं। अगर पेजफाइल को अक्सर नहीं पढ़ा जा रहा है, तो इससे कोई फर्क नहीं पड़ता कि इसे कितना लिखा गया है!
जेमी हनराहन

2

एक OS को परिवर्तित करना जो कि स्वैग का उपयोग न करने के लिए बहुत ही कोर में डिज़ाइन किया गया था, यह सुनने में बहुत कठिन है।

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

सिस्टम को एक समय में एक अनुप्रयोग तक सीमित करने का मतलब है कि रैमडिस्क-स्वैप मूल रूप से कभी उपयोग नहीं किया जाता है, लेकिन ओएस को उम्मीद है कि यह वहां होगा।


2

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

अब सवाल यह है कि रैम कितनी रैम है? इसके लिए कोई सार्वभौमिक जवाब नहीं है और प्रकृति द्वारा स्मृति पर सिस्टम को लटका दिया गया है। इसलिए, और जब तक आप बहुत विशिष्ट और नियंत्रित वातावरण पर नहीं चल रहे हैं, स्वैप को बंद न करें।

किसी अन्य प्रकार के स्टंट जैसे कि रैम पर स्वैप डालने से जटिलता की एक अतिरिक्त परत बन जाएगी और स्मृति खर्च होगी जो अन्यथा सीधे इस्तेमाल की जा सकती है।


2

मेरे सिस्टम में 24GB RAM है, इस कारण से, मैंने बिना किसी समस्या के अपने SSD पर पहनने को रोकने के लिए पेजफाइल को निष्क्रिय कर दिया। मैंने हाल ही में Google Chrome Cache फ़ाइलों को संग्रहीत करने के लिए 4GB की मेरी मेमोरी का उपयोग करके एक RAM डिस्क बनाई, बस यह देखने के लिए कि क्या यह ऑनलाइन फ़्लैश प्लेयर गेम और सामान्य वेब सर्फिंग के प्रदर्शन को बढ़ाएगा। मैंने इस प्रयोग से प्रदर्शन में उल्लेखनीय वृद्धि देखी है। चूँकि मेरे RAM डिस्क पर अधिक स्थान उपलब्ध था, इसलिए मैंने अपने पेजफाइल को सक्षम किया और न्यूनतम, और अधिकतम आकार दोनों को 1GB पर सेट किया, और इसे RAM डिस्क में स्थानांतरित कर दिया। हालाँकि, मैं यह नहीं कह सकता कि कोई प्रदर्शन बढ़ा था, मेरा सिस्टम अधिक स्थिर चल रहा है।


आप अपने SSD पर पेजफाइल डालने से बहुत बेहतर होंगे। अगर इसे नहीं करना है तो विंडोज इसका इस्तेमाल नहीं करेगा। रैमडिस्क पर पेजफाइल डालना हास्यास्पद है। हां, उस "फ़ाइल" के पेज दोषों को तेजी से हल किया जाएगा यदि वे एक वास्तविक डिस्क पर थे, लेकिन रैम को रैमडिस्क को पहले स्थान पर असाइन करके, आप पृष्ठ दोषों की संख्या बढ़ा रहे हैं। यह अपने आप से पैसे उधार लेने, अपने आप से ब्याज वसूलने और "ब्याज" को फेंकने जैसा है। यह गलत भी नहीं है।
जेमी हनरहान

1

Pagefile को RAM में ले जाना एक हास्यास्पद धारणा है बस इसे बंद करें और अधिक RAM द्वारा। :)

No matter how much RAM you have, you want the system to be able to use it efficiently. Having no paging file at all forces the operating system to use RAM inefficiently for two reasons. First, it can't make pages discardable, even if they haven't been either accessed or modified in a very long time, which forces the disk cache to be smaller. Second, it has to reserve physical RAM to back allocations that are very unlikely to ever require it (for example, a private, modifiable file mapping), leading to a case where you can have plenty of free physical RAM and yet allocations are refused to avoid overcommitting.

Consider, for example, if a program makes a writable, private memory mapping of a 4GB file. The OS has to reserve 4GB of RAM for this mapping, because the program could conceivably modify every byte and there's no place but RAM to store it. So immediately, 4GB of RAM is basically wasted (it can be used to cache clean disk pages, but that's about it).

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

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

एक त्वरित और बहुत ही गंदा उदाहरण:, मेरी मशीन में 16GB RAM और कोई पेजफाइल नहीं है। 5 मिनट पहले स्टैंडबाय में 13GB और केवल 2GB फ्री के साथ, मैंने Fallout 4 लोड किया। कम प्राथमिकता वाले पेजों को Fallout लोड होने के रूप में छोड़ दिया गया।

साइड नोट पर Btw, विंडोज मेमोरी लिमिट्स को पुश करने पर 2008 का टेक्नेट ब्लॉग बहुत भ्रामक है - मैं धोखे की बात कहूंगा। https://i.stack.imgur.com/wXkmi.png मैं इस बात से भी दुखी हूं कि क्या मार्क ने भी इसे लिखा है, लेकिन मुझे उम्मीद है कि नहीं, क्योंकि इससे मेरा नजरिया बदल जाएगा ....।

Fwiw लेख में अंतराल छेद कर रहे हैं, जिसे मैं dumfounded हूँ किसी ने इस बात पर विचार नहीं किया है कि ब्लॉग को कितनी बार संदर्भित किया गया है

  • पेजफाइल और यह स्थान विंडोज द्वारा संभाला जाता है, मेमोरी एक्सेस के स्थानों को डिस्क से बाहर कर दिया गया है जो सीपीयू द्वारा पकड़ा जाएगा, लेकिन डिस्क से पृष्ठ को पुनः प्राप्त करने और इसे लोड करने के लिए ऑपरेटिंग सिस्टम को सौंप दिया गया।

वैसे भी यहाँ इतना अस्पष्ट वर्णन नहीं है:

सीपीयू की तुलना में विंडोज उच्च पते तक नहीं पहुंच सकता है - यह संभव नहीं है।

कोई फर्क नहीं पड़ता कि ओएस जो भी सक्षम है वह अभी भी उस हार्डवेयर द्वारा सीमित है जो उस पर चलता है .. क्योंकि ओएस वास्तव में सीपीयू ही है (आंतरिक रजिस्टर)।

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

खंडित x86 32 बिट आर्किटेक्चर पर उदाहरण के लिए रैम के दो 2GB सेगमेंट हैं।

एक कर्नेल को आवंटित किया गया है। अन्य 2GB उपयोगकर्ता मोड के लिए है। वह सभी रैम है जो CPU 32 DRAM पिन के साथ उपयोग कर सकता है, लेकिन एक 32 बिट प्रक्रिया में 4GB उपलब्ध है तो क्या करें। अच्छी तरह से सौभाग्य से सीपीयू द्वितीयक स्टोरेज AKA का उपयोग कर सकता है अतिरिक्त 2GB पेजों को संग्रहीत करने के लिए हार्ड ड्राइव। क्योंकि इसमें आंतरिक रजिस्टर हैं
भौतिक स्थान जहां प्रक्रिया द्वारा संदर्भित आभासी पृष्ठ को रैम में संग्रहीत नहीं करना पड़ता है। लेकिन वे सीपीयू द्वारा कहीं संग्रहीत किए जाते हैं।

CPU सभी 4GB RAM को ऐप को नहीं दे सकता है, लेकिन यह HDD को सेकेंडरी कैश के रूप में उपयोग करके 4GB पता दे सकता है (जो कि वास्तव में HDD है)

पृष्ठों को आंतरिक पेजिंग तंत्र के माध्यम से रैम में और बाहर ले जाया जाता है, लेकिन यह पेजफाइल के समान नहीं है। पेजिंग हमेशा होता है ...।

नीचे की रेखा वास्तव में इतनी जटिल नहीं है। पिछले 15 या इतने सालों से कई अंत उपयोगकर्ताओं को यह आभास हो गया है कि पेजफाइल ऑपरेटिंग सिस्टम का कुछ अभिन्न हिस्सा है, ऐसा नहीं है। यह कभी नहीं रहा। इस गलत धारणा को आंशिक रूप से इंटेल और माइक्रोसॉफ्ट जैसे निगमों द्वारा ईंधन दिया गया है।

रैम एक फास्ट स्टोरेज डिवाइस है, हार्ड ड्राइव एक धीमा स्टोरेज डिवाइस है, इसलिए अनिवार्य रूप से रैम लेवल 1 कैश है, हार्ड ड्राइव लेवल 2 (इस एनालॉग के लिए सीपीयू कैश की उपेक्षा) है। दोनों CPU द्वारा पहुँचा जा सकता है।

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

कोर 2 तक, इंटेल प्रोसेसर में 32 जीबी डीआरएएम बस था, और 32 रजिस्टरों का अर्थ है कि सीपीयू की 4 जीबी रैम और 4 जीबी की एचडीडी स्पेस (पेजफाइल) तक पहुंच थी। यह एक आर्किटेक्चरल हार्डवेयर सीमा है, न कि विंडोज लिमिटेशन।

प्रक्रियाओं के लिए कुल उपलब्ध 3.5GB था, क्योंकि एक पृष्ठ तालिका 512MB तक होती है। यही कारण है कि 3.5 जीबी इंटेल सीपीयू (कोर 2 तक) के साथ विंडोज में दिखाई देता है। एक GPU जोड़ें और इससे भी कम उपलब्ध है।

Xeon कुल 32GB रैम, 64GB फिजिकल स्पेस को HDD के साथ शामिल कर सकता है (पेजफाइल फिर से)। ( यह ^ जोड़े गए लिंक के साथ आने के लिए PA, -more को शामिल करता है )।

यहाँ छवि विवरण दर्ज करें http://www.windowsdevcenter.com/pub/a/windows/2004/04/27/pagefile.html

यहाँ छवि विवरण दर्ज करें

यहाँ छवि विवरण दर्ज करें

तीसरा स्क्रीनशॉट स्रोत: सिस्टम वी एप्लिकेशन बाइनरी इंटरफ़ेस एएमडी 64 आर्किटेक्चर प्रोसेसर सप्लीमेंट ड्राफ्ट संस्करण 0.99.7

मैं इस उत्तर को सुधारना और स्रोत सामग्री और प्रासंगिक जानकारी जोड़ना जारी रखना चाहता हूं। मैं पर्याप्त जानकारी और बहुत अधिक तकनीकी जानकारी के बीच संतुलन हासिल नहीं करना चाहता। सुझावों का स्वागत किया जाता है। कृपया नीचे न लिखें क्योंकि यह इतनी अच्छी तरह से नहीं लिखा जा सकता है।


टिप्पणियाँ विस्तारित चर्चा के लिए नहीं हैं; इस वार्तालाप को बातचीत में स्थानांतरित कर दिया गया है ।
DavidPostill
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.