मुझे यह कैसे तय करना चाहिए कि 2-4 जीबी रैम के साथ एक नई लिनक्स मशीन (डेबियन) पर अपना स्वैप बनाने के लिए क्या आकार है? क्या मुझे वास्तव में स्वैप स्पेस की आवश्यकता है?
मुझे यह कैसे तय करना चाहिए कि 2-4 जीबी रैम के साथ एक नई लिनक्स मशीन (डेबियन) पर अपना स्वैप बनाने के लिए क्या आकार है? क्या मुझे वास्तव में स्वैप स्पेस की आवश्यकता है?
जवाबों:
ऐसे बहुत से तरीके हैं जिनसे आप पता लगा सकते हैं कि किसी मशीन में कितना स्वैप उपयोग होता है। आम सुझावों में रैम पर आधारित फॉर्मूला का उपयोग किया जाता है जैसे 2 x RAM, 1.5 x RAM, 1 x RAM, .75 x RAM और .5 x RAM। कई बार राम की मात्रा के आधार पर सूत्र अलग-अलग होते हैं (इसलिए 1 जीबी रैम वाला एक बॉक्स 2 x रैम स्वैप (2 जीबी) का उपयोग कर सकता है, जबकि 16 जीबी रैम वाला एक बॉक्स .5 x रैम स्वैप (8 जीबी) का उपयोग कर सकता है।
एक और बात पर विचार करना है कि बॉक्स का उपयोग किसके लिए किया जाएगा। यदि आप बड़ी संख्या में समवर्ती चलने वाली प्रक्रियाओं को बॉक्स पर चलाने जा रहे हैं, लेकिन उनमें से एक महत्वपूर्ण संख्या समय के लिए निष्क्रिय हो जाएगी, तो अतिरिक्त स्वैप जोड़ने से समझ में आता है। यदि आप कम संख्या में महत्वपूर्ण प्रक्रियाएँ चलाने जा रहे हैं, तो अतिरिक्त स्वैप जोड़ने से समझ में आता है (यह प्रति-सहज लग सकता है, लेकिन मैं एक मिनट में समझाता हूँ)। यदि आप एक बॉक्स को डेस्कटॉप के रूप में चला रहे हैं, तो अतिरिक्त स्वैप जोड़ने से समझ में आता है।
जैसे कि क्या आपको स्वैप शामिल करना चाहिए, हां, आपको करना चाहिए। आपको हमेशा स्वैप स्थान शामिल करना चाहिए जब तक कि आप वास्तव में नहीं जानते कि आप क्या कर रहे हैं, और आपके पास वास्तव में इसके लिए एक अच्छा कारण है।
देखें, जिस तरह से लिनक्स कर्नेल काम करता है, स्वैप का उपयोग केवल तब नहीं किया जाता है जब आपने सभी भौतिक मेमोरी को समाप्त कर दिया हो। लिनक्स कर्नेल ऐसे एप्लिकेशन लेगा जो सक्रिय नहीं हैं (सो रहे हैं) और समय की अवधि के बाद, एप्लिकेशन को वास्तविक मेमोरी से स्वैप करने के लिए ले जाएं। नतीजा यह है कि जब आपको उस एप्लिकेशन की आवश्यकता होती है, तो एक क्षणिक विलंब होगा (आमतौर पर सिर्फ एक सेकंड या दो) जबकि एप्लिकेशन की मेमोरी को स्वैप से रैम में वापस पढ़ा जाता है। और यह आमतौर पर एक अच्छी बात है।
यह आपको निष्क्रिय अनुप्रयोगों को "नींद" में डालने की अनुमति देता है, जिससे आपके सक्रिय अनुप्रयोगों को अतिरिक्त रैम तक पहुंच मिलती है। इसके अतिरिक्त, लिनक्स मशीन पर किसी भी उपलब्ध (असंबद्ध) रैम का उपयोग डिस्क कैश के रूप में करेगा, जिससे अधिकांश (धीमी) डिस्क गतिविधि तेजी से और अधिक उत्तरदायी हो जाएगी। निष्क्रिय प्रक्रियाओं को स्वैप करने से आपको अधिक डिस्क कैश मिलता है और आपकी मशीन समग्र रूप से तेज़ हो जाती है।
अंत में, आइए इसका सामना करते हैं, डिस्क स्थान सस्ता है। वाकई सस्ता। वहाँ वास्तव में कोई अच्छा कारण नहीं है स्वैप के लिए अंतरिक्ष के एक (अपेक्षाकृत) छोटे हिस्सा नहीं स्वाइप करें। अगर मैं एक मशीन में 2GB - 4GB RAM के साथ चल रहा था, तो मैं शायद अपने स्वैप स्पेस को कम से कम RAM के बराबर सेटअप करूँगा। यदि यह 2GB से कम रैम का होता है, तो मैं अभी भी कम से कम 2GB स्वैप के साथ जाऊंगा।
अद्यतन: उल्लेखित एक उत्कृष्ट टिप्पणी के रूप में (और मैं शामिल करना भूल गया), यदि आप एक लैपटॉप या एक डेस्कटॉप चला रहे हैं जिसे आप 'हाइबरनेट' मोड में रखना चाहते हैं (डिस्क पर स्थगित करें), तो आप हमेशा कम से कम उतना चाहते हैं आप स्मृति के रूप में स्वैप करें। स्वैप स्थान का उपयोग कंप्यूटर में रैम की सामग्री को स्टोर करने के लिए किया जाएगा, जबकि यह 'सोता है'।
रेड हैट की सिफारिश की राम की बहुत सारी के साथ सर्वर के लिए निम्न सूत्र:
if MEM < 2GB then SWAP = MEM*2 else SWAP = MEM+2GB
यदि आपके सिस्टम में 1 जीबी रैम है, तो आपका स्वैप 2 जीबी होगा, 16 जीबी के लिए यह 18 जीबी होगा।
देर से जवाब, और मुझे लगता है कि यह चयनित उत्तर में बहुत अधिक कवर किया गया था, लेकिन @ssapkota द्वारा यहां दिए गए उत्तर में कुछ अच्छी और आसानी से पचने योग्य जानकारी है (कॉपी / नीचे चिपकाया गया)।
यहां रेडहैट: अनुशंसित सिस्टम स्वैप स्पेस से बहुत अच्छी सिफारिश की गई है
उसी लिंक से एक अंश:
पिछले वर्षों में, सिस्टम में रैम की मात्रा के साथ स्वैप स्थान की अनुशंसित मात्रा में रैखिक वृद्धि हुई। लेकिन क्योंकि आधुनिक प्रणालियों में मेमोरी की मात्रा सैकड़ों गीगाबाइट में बढ़ गई है, अब यह माना जाता है कि स्वैप स्पेस की एक प्रणाली की आवश्यकता है जो उस सिस्टम पर चल रहे मेमोरी वर्कलोड का एक कार्य है। हालांकि, यह देखते हुए कि स्वैप स्पेस आमतौर पर स्थापित समय पर निर्दिष्ट किया जाता है, और यह कि सिस्टम के मेमोरी वर्कलोड को पहले से निर्धारित करना मुश्किल हो सकता है , हम निम्नलिखित तालिका का उपयोग करके सिस्टम स्वैप का निर्धारण करने की सलाह देते हैं।
वर्तमान तालिका (दिसंबर 2012 तक):
Amount of RAM in the system Recommended swap space Recommended swap space
if allowing for hibernation
--------------------------- ---------------------------- ---------------------------
2GB of RAM or less 2 times the amount of RAM 3 times the amount of RAM
2GB to 8GB of RAM Equal to the amount of RAM 2 times the amount of RAM
8GB to 64GB of RAM 0.5 times the amount of RAM 1.5 times the amount of RAM
64GB of RAM or more 4GB of swap space No extra space needed
मूल तालिका:
Amount of RAM in the System Recommended Amount of Swap Space
4GB of RAM or less a minimum of 2GB of swap space
4GB to 16GB of RAM a minimum of 4GB of swap space
16GB to 64GB of RAM a minimum of 8GB of swap space
64GB to 256GB of RAM a minimum of 16GB of swap space
256GB to 512GB of RAM a minimum of 32GB of swap space
यह काफी कुछ पर निर्भर करता है कि आप इसके साथ क्या कर रहे हैं। उपयुक्त कार्यभार के साथ, आपको वास्तव में किसी भी स्वैप स्थान की आवश्यकता नहीं है, चाहे आपके पास 16 एमबी या 16384 एमबी रैम हो; वास्तव में सबसे एम्बेडेड लिनक्स डिवाइस बिना किसी के चलते हैं (वे क्या स्वैप करेंगे?)
रैम की कीमतों को ध्यान में रखते हुए, आप शायद सक्रिय अभिकलन के लिए स्वैप का उपयोग नहीं करेंगे। तो, क्या बचा है?
(2) और (3) भारी कार्यभार पर निर्भर करता है। अपने डेस्कटॉप पर, मैं आसानी से 4GB + पर (2) का उपयोग कर सकता हूं, अन्य डेस्कटॉप पर चल रहे vims, xterms, आदि को छोड़कर।
मेरे द्वारा चलाए जाने वाले अधिकांश सर्वरों पर, शायद ही कभी कोई चीज स्वैप की गई हो और 1-2 जीबी स्वैप (रैम राशि की परवाह किए बिना) ठीक लगता हो।
madvise
, लेकिन यह विफल नहीं होगा ... वह बग कचरा संग्रह के दौरान स्मृति से बाहर चलने के बारे में बात करता है। स्वैप को जोड़ने से, निश्चित रूप से रोकता है, लेकिन इसलिए रैम को जोड़ना होगा। शायद इसकी वजह PAE के साथ 32-बिट है?
Xms
और Xmx
समान मूल्यों के लिए सेट नहीं है, तो यह आपको बुरी तरह से काट सकता है: दो सप्ताह के लिए हमारे लिए प्रमुख मुद्दों का कारण है तिल अंत में हमने इसे नीचे ट्रैक किया
खैर, यह निर्भर करता है कि आप किन सेवाओं और अनुप्रयोगों को चलाने की योजना बना रहे हैं। आप अपने मेमोरी उपयोग को मुफ्त में देख सकते हैं और समय के अनुसार अपने स्वैप विभाजन को समायोजित कर सकते हैं।
यहाँ इस विषय पर एक दिलचस्प चर्चा है । व्यक्तिगत रूप से (और उस चर्चा को पढ़ने के बाद) मैं अभी भी स्वैप के लिए लगभग 1 जीबी छोड़ दूंगा।
मैं सीधे डेबियन से बात नहीं कर सकता, लेकिन मुझे पता है कि जब आप 2 जीबी रैम से ऊपर उठते हैं, तो मूल 2xRAM समीकरण बदलता है, आमतौर पर 1xRAM तक नीचे। मुझे लगता है कि एक बार जब आप 16 जीबी रैम को हिट करते हैं तो सुझाव .75xRAM तक कम हो जाता है।
बेशक, मैंने सोलारिस के लिए यह सच पाया, और वास्तव में ओरेकल इंस्टॉलेशन के लिए उपयोग किया जाने वाला मीट्रिक है, इसलिए आप जिन ऐप्स पर चलने वाले हैं, उनके आधार पर YMMV।
मैं हमेशा ज्यादा से ज्यादा स्वैप (कम से कम) रैम के रूप में करता हूं। बस के मामले में मैं किसी दिन मशीन को हाइबरनेट करना चाहता हूं। कम के साथ काम कर सकता है, लेकिन साथ ही साथ नहीं कर सकता।
इस समय एचडीडी स्पेस सस्ता है, इसलिए मैं स्वैप स्पेस देने में संकोच नहीं करता।
स्वैप स्पेस "पैडिंग" के रूप में काम कर सकता है जब आप अन्यथा मेमोरी से तुरंत बाहर निकल जाएंगे।
जब एक प्रक्रिया सभी उपलब्ध रैम का उपभोग करती है और तब कुछ मशीन बहुत धीमी गति से चलेगी, लेकिन आप आमतौर पर पुनर्प्राप्त करने में सक्षम होंगे। यह देखना भी आसान होगा कि कौन सी प्रक्रिया समस्या पैदा कर रही है।
वर्षों से मैंने नियम का पालन किया है कि विंडोज मशीनों के लिए आपके पास रैम के रूप में ज्यादा स्वैप है ... नोवेल पर हम अधिक प्रिंटर की अदला-बदली करेंगे यदि हमारे पास अधिक प्रिंटर थे ... लिनक्स के लिए मेरे लिए नियम और अभ्यास 1GB हो गया है आपके पास प्रत्येक 2GB रैम के लिए स्वैप करें। और आप इसे डिस्क के सामने रखते हैं ताकि यह जल्दी पहुंच जाए।
यदि यह एक LAMP सर्वर है तो 1/2 नियम प्रभाव में है।
आवेदन और जीयूआई उपयोग के आधार पर माइलेज अलग-अलग होगा।
मैं 1GB स्वैप बनाता हूं और अधिक RAM खरीदता हूं जिसका दूसरा उपयोग किया जा रहा है। आपको वास्तव में आधुनिक कंप्यूटर पर स्वैप की आवश्यकता नहीं है, रैम इतनी सस्ती है।
आप किस प्रणाली के लिए उपयोग कर रहे हैं? व्यक्तिगत रूप से मैं किसी भी स्वैप का उपयोग नहीं करता हूं। अगर कुछ भी एक टोकन 512MB या कुछ का उपयोग करता है तो बस चीजें डिस्क पर डाल दी जा सकती हैं यदि निवासी लेकिन लंबे समय तक निष्क्रिय।
मैं बस एक छोटे से टोकन स्वैप का उपयोग करता हूं (आमतौर पर 256 एमबी, लेकिन मैंने 64 एमबी भी किया है) क्योंकि शून्य स्वैप के साथ एक सिस्टम को कॉन्फ़िगर करने के लिए विशेष कॉन्फ़िगरेशन की आवश्यकता होती है।
डिस्क स्थान सस्ता है, लेकिन स्लोओवू है। जैसे ही सिस्टम स्वैप करना शुरू करता है, प्रदर्शन शून्य होता है। और RAM अब इतनी महंगी नहीं है।
मुझ पर भरोसा करें, थोड़ा धीमा प्रोसेसर खरीदें और अधिक रैम खरीदें। 2.8 गीगाहर्ट्ज़ के बदले 2.8 गीगाहर्ट्ज़ कम से कम 2 जीबी रैम खरीदने के लिए आपके पास पर्याप्त पैसा बचाएगा।