क्या हमें अभी भी सर्वरों पर स्वैप विभाजन की आवश्यकता है?


37

मैंने इस प्रश्न को पढ़ा है , लेकिन यह सर्वरों के संदर्भ में पूछा गया था, न कि डेस्कटॉप या नोटबुक।

यदि नोटबुक पर अच्छी मात्रा में रैम स्थापित है, तो 8 जीबी कहें, क्या हमें अभी भी स्वैप स्थान की आवश्यकता है?

जवाबों:


33

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

  1. यदि आपके पास कोई स्वैप स्थान नहीं है और RAM से बाहर होने की स्थिति में है, तो कर्नेल एक या अधिक प्रक्रियाएं चुनेगा जो यह सोचते हैं कि अच्छे उम्मीदवार हैं (हालांकि आप इसे कुछ संकेत दे सकते हैं ) और उन्हें मार सकते हैं।

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

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


क्या आपका पहला बिंदु वास्तव में सच है? कर्नेल रैम को मुक्त करने के लिए चलने वाली प्रक्रियाओं को मार देगा? कर्नेल सिर्फ लाइव प्रक्रियाओं को मारने के बजाय डिस्क स्थान का उपयोग क्यों नहीं करेगा?
डोनाटो

4
@ डोनटो हां, मेरा पहला बिंदु सच है। यदि कोई स्वैप स्थान कॉन्फ़िगर नहीं किया गया है (यानी डिस्क), तो कर्नेल को रैम खाली करने के लिए डिस्क स्थान का उपयोग करने का विकल्प नहीं दिया जाता है।
जलीगेरे

और क्या होता है जब मैं स्वैप स्पेस खत्म करता हूं? केस 1 में वापस आना
Zac

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

1
@Zac यदि आप अपने स्वैप स्थान को समाप्त करते हैं, तो आप अनिवार्य रूप से उसी स्थिति में होते हैं जब पहली जगह में कोई स्वैप स्थान नहीं होता है। एक प्रक्रिया या अधिक मर जाएगा। उन्हें ऊम हत्यारे द्वारा चुना जा सकता है या सिर्फ गलत जगह और गलत समय पर हो सकता है। आम तौर पर, एक ठीक से निगरानी की गई उत्पादन प्रणाली में एक अलर्ट ट्रिगर होना चाहिए और फिर स्वैप थकावट होने से पहले एक व्यवस्थापक प्रतिक्रिया होनी चाहिए।
जुलियाग्रे

9

यदि आपके पास 3GB या उससे अधिक की रैम है, तो उबंटू स्वचालित रूप से स्वैप स्पेस का उपयोग नहीं करेगा क्योंकि यह ओएस के लिए पर्याप्त से अधिक है।

अब क्या आपको वास्तव में स्वैप विभाजन की आवश्यकता है?

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

आवश्यकता पर अधिक जानकारी के लिए या स्वैप न करें, उबंटू स्वैप फ़ैक , या स्वैप आवश्यकताएँ देखें


क्या आपके पास अपने पहले बयान की पुष्टि करने वाला लिंक है?
jlliagre

@jlliagre पर एक नजर डालें mygeekopinions.blogspot.com/2011/03/... , जो सुराग के लिए askubuntu.com/questions/23676/...
मिच

1
ब्लॉग स्टेटमेंट आस्कुनबतु उत्तर को गलत बता रहा है। कोई सबूत नहीं है user4124 एक Ubuntu डेवलपर है। "होगा (आम तौर पर) का उपयोग नहीं होता है" की तुलना में काफी अलग है "स्वचालित रूप से अक्षम हो जाएगा"। वास्तव में, उबंटू कभी भी स्वैप को अक्षम नहीं कर रहा है और अगर जरूरत है तो इसका उपयोग करेगा, भले ही आपके पास 8 जीबी रैम या अधिक हो।
जूलियाग्रे

@jlliagre इसका मतलब यह है कि स्वैप स्थान वहाँ है, लेकिन इसका उपयोग नहीं किया गया है। जब मैंने Xubuntu 14.04 स्थापित किया, तो इसने 16GB स्वैप बनाया, और इसका उपयोग अभी तक नहीं किया गया है। देख छवि
मिच

1
खुशी है कि आपने अपना उत्तर सही कर लिया। "उपयोग न करें" निश्चित रूप से "अक्षम" के समान नहीं है। उबंटू स्वैप को निष्क्रिय नहीं करता है और यदि आवश्यक हो तो इसका उपयोग आकार की परवाह किए बिना करेगा।
jlliagre

4

पिछले 6 वर्षों से या तो मैंने कम से कम 8 जीबी रैम के साथ डेस्कटॉप सिस्टम का उपयोग किया है। मुझे ऐसा मामला याद नहीं है जब सिस्टम ने सामान्य उपयोग के तहत मेमोरी को स्वैप किया हो - और मैं संसाधन उपयोग की निगरानी अक्सर htop के साथ करता हूं। उन मामलों में भी नहीं जब मैंने 4 वर्चुअल मशीन (सर्वर) एक साथ चलाए थे, विकास के उद्देश्यों के लिए स्वैपिंग हुई थी।

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


2

स्‍पैप स्‍पेस होना हमेशा एक अच्‍छी बात होती है।

यहां मैं माइकल जैंग के RHCSA / RHCE सर्टिफिकेशन स्टडी गाइड का हवाला दे रहा हूं

लिनक्स स्वैप स्पेस

ऐसी जगह का उपयोग सिस्टम पर प्रभावी रैम की मात्रा को बढ़ाने के लिए किया जाता है, जैसा कि वर्तमान में चल रहे कार्यक्रमों के लिए वर्चुअल मेमोरी है। लेकिन आप सिर्फ अतिरिक्त रैम नहीं खरीद सकते हैं और स्वैप स्पेस को खत्म कर सकते हैं। यदि आप रैम के गीगाबाइट्स हैं, तो भी लिनक्स स्पेस और स्वैप प्रोग्राम का उपयोग करता है।

2GB तक के सिस्टम के लिए, डिफ़ॉल्ट स्वैप स्पेस का आकार स्थापित रैम की मात्रा का दोगुना है। 2GB से ऊपर, यह RAM + 2GB की मात्रा है। लेकिन वे “कठिन और तेज़” नियम नहीं हैं। कई जीबी रैम के साथ कार्यस्थान अक्सर बहुत कम स्वैप स्थान का उपयोग करते हैं .. लेकिन इसका उपयोग उन प्रणालियों पर अधिक बार किया जा सकता है जो एक समय में महीनों के लिए रिबूट नहीं होते हैं या कुछ सेवाओं की भारी मांग होती है।


1
"लिनक्स में जगह-जगह इस्तेमाल किए जाने वाले प्रोग्राम और डेटा चलते हैं, भले ही आपके पास गीगाबाइट रैम हो।" मैं मानता हूं कि हम कोड और मेमोरी में लोड किए गए डेटा के बारे में बात कर रहे हैं। यदि आपके पास 8GB रैम है और आप नियमित रूप से ऐप चला रहे हैं, तो पृथ्वी पर कोई कोड या डेटा पेज क्यों स्वैप किया जाएगा?
तारिक

1

यह इस बात पर निर्भर करता है कि आप अपने सिस्टम पर क्या चला रहे हैं।

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

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


1

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

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