विभाजन बनाम स्वैप फ़ाइल


47

मैं उबंटू 17.04 के साथ नए बदलावों को पढ़ रहा था और एक ने मेरी आंख को पकड़ लिया जो सामान्य स्वैप विभाजन मॉडल से नए इंस्टॉल के लिए एक नए स्वैप फाइल मॉडल में जा रहा था।

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

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

और अंत में, हाइबरनेशन स्वैप फ़ाइलों के साथ एक मुद्दा होगा?

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


संबंधित प्रश्न के बारे में: askubuntu.com/questions/903414/… (यदि यह कभी भी उत्तर दिया जाता है)
मूरू

digitalocean.com/community/tutorials/… - मैं यह नहीं कह सकता कि इससे कोई फर्क पड़ा , मैं वास्तव में नहीं कर सकता। सिस्टम पहले की तरह ठीक काम कर रहा है (स्वैप का उपयोग शायद ही कभी किया गया था)।

यहाँ का तरीका बताया गया फाइल पर एक स्वैप जोड़ने । 17.04 में यह एक फाइल है /swapfile। हाइबरनेटिंग एक मुद्दा हो सकता है।
तक्कत

muru @CelticWarrior Takkat लिंक और जानकारी के लिए धन्यवाद दोस्तों। वास्तव में बहुत उपयोगी है। यदि संभव हो तो केल्टिक, यदि आप यहां केवल AskUbuntu में विशिष्ट उत्तरों को जोड़ सकते हैं। सभी के लिए, सुनिश्चित करें कि उत्तर तारीख तक हैं (2012 नहीं, लेकिन वास्तव में 2016-2017, जब पूरी स्वैप फाइल बात शुरू हो गई) बहुत मदद करेगा और उस समय की अवधि के दौरान हुई किसी भी चीज़ से बचें।
लुइस अल्वाराडो

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

जवाबों:


34

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

परंपरागत रूप से स्वैपफाइल को कई कारणों से हतोत्साहित किया गया था। इस्तेमाल किया swapfile होने के लिए लिनक्स v2.4 से पहले धीमी, और यदि आप एक खंडित फाइल सिस्टम पर स्वैफाइल बनाते हैं, तो भी यह धीमा हो सकता है। आप कुछ हद तक स्वैप के साथ मेमोरी बग हिट कर सकते हैं, उदाहरण के लिए कैच -22 जहां आप किसी भी अधिक मेमोरी को आवंटित नहीं कर सकते हैं जब तक कि आप कुछ स्वैप नहीं करते हैं, लेकिन फाइल सिस्टम को स्वैप करने से पहले आपको आवंटित करने की आवश्यकता होती है। कुछ साल पहले स्वैफाइल्स के लिए हाइबरनेटिंग समान कारणों से एक विवादास्पद नई सुविधा थी। सालों पहले जब फाइलसिस्टम अभी भी थोड़ा छोटा था (और जर्नल नहीं किया गया था) महत्वपूर्ण फाइलसिस्टम लिखने के लिए भारी संख्या में करना नासमझी थी, जब आप इसके बजाय सिर्फ एक स्वैफाइल का उपयोग कर सकते थे। परंपरा डिफ़ॉल्ट के रूप में, स्वैप विभाजन का परीक्षण स्वैपफाइल्स से अधिक किया गया है। संभवतः Canonical को लगता है कि ये समस्याएं अब चिंता करने लायक नहीं हैं।

अब स्वैगफाइल पर स्विच न करने का सबसे बड़ा कारण है, "ऐसा कुछ ठीक करना जो टूटा हुआ न हो"। यदि आप अपने मुख्य विभाजन का बैकअप नहीं लेते हैं, और अकस्मात /homeअपने स्वैपफाइल के बजाय अपने डिलीट कर देते हैं, तो इसे वापस पाने की कोशिश करना परेशानी होगी।

स्वैपफाइल्स पर स्विच नहीं करने का एक और कारण है, यदि आप उपयोग कर रहे हैं btrfsजो अभी तक स्वैपफाइल्स का समर्थन नहीं करता है (धीमी लूपबैक फ़ाइलों के माध्यम से)


यहां तक ​​कि अगर आप एक स्वैप फ़ाइल के लिए जाने का फैसला करते हैं, तो भी जब तक आप अंतरिक्ष पर कम नहीं होते तब तक आपके स्वैप विभाजन को हटाने की कोई वास्तविक आवश्यकता नहीं है। आप चाहें तो एक ही समय में दोनों का उपयोग कर सकते हैं। यदि आप स्वैप विभाजन को हटाने का निर्णय लेते हैं, तो सबसे पहले उबंटू लाइवसीडी के साथ बूट करें, और जाएं try without installing। फिर एक टर्मिनल रन में gparted, स्वैप विभाजन को हटा दें, और शेष विभाजनों का आकार बदलें (पहले बैकअप करना एक अच्छा विचार हो सकता है)।

अब अपने नियमित उबंटू में रिबूट करें और स्वैपैपाइल बनाएं। चूंकि एक स्वैपफाइल का लाभ यह है कि इसका आकार बदलना आसान है, आप अपने स्वैप के आकार को प्रबंधित करने के लिए स्वेपस्पेस का उपयोग करना चाह सकते हैं:

sudo apt install swapspace

आप मैन्युअल रूप से निर्देशों का पालन करके एक स्वैप बना सकते हैं: https://www.digitalocean.com/community/tutorials/how-to-add-swap-space-on-ubuntu-16-04

एक लंबी कहानी को छोटा करने के लिए, आप एक टर्मिनल में निम्नलिखित को चिपकाकर 1G स्वैप बना सकते हैं

sudo fallocate -l 1G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
sudo swapon --show

यदि वह काम करता है, तो आप इसे कर के स्थायी बना सकते हैं:

sudo cp /etc/fstab /etc/fstab.bak
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

हम्म्म उद्धरणों की आवश्यकता है .... बग़ीली फाइल सिस्टम के बारे में निश्चित नहीं कि आप कितना पीछे जा रहे हैं? 22 को पकड़ने के लिए ओओमकिलर ने एक डिग्री तक छांटा होगा - छोटे आवंटन से छोटी-मोटी मार पड़नी चाहिए, और मुझे आश्चर्य होगा कि अगर एफएस के माध्यम से स्वैप करने से इस तरह की घटना के लिए तैयार होने पर एक मूत बफर नहीं होता है ....
taifwa

5
10+ साल पहले, सामान्य सलाह यह थी कि स्वैप, / usr / home और / var सभी को अलग-अलग विभाजनों पर रखा जाए ताकि यदि उनमें से एक ने खुद को भ्रष्ट कर लिया तो आप दूसरों से वसूली कर सकें। जर्नलिंग कॉमन होने से पहले शायद यही था। फाइलसिस्टम में अभी भी बग हैं, लेकिन रैन्समवेयर उन जगहों पर बैकअप बनाने के लिए संभवतया व्यामोह बेहतर तरीके से खर्च किया जा सकता है।
gmatht

1
@taifwa मैंने btrfs के लिए एक लिंक जोड़ा है जहाँ वे तेज़ स्वैप एक्सेस का समर्थन नहीं करते हैं (क्योंकि वे सुनिश्चित नहीं हैं कि इसे भ्रष्टाचार के बिना कैसे लागू किया जा सकता है), और ध्यान दें कि स्विच नहीं करने का सबसे बड़ा कारण यह है कि isn को ठीक नहीं करना 'टूट गया। क्या यह मदद करता है?
gmatht

1
@gmatht वैसे आपने बहुत अच्छे तरीके से वहां सब कुछ कवर किया। यदि आपको स्वैप फ़ाइलों के साथ आने वाले महीनों / वर्षों में कोई नई जानकारी मिलती है, तो हमें इस उत्तर को अपडेट करके बताएं। यश और उत्कृष्ट कार्य।
लुइस अल्वाराडो

3
@PabloBianchi यह कर सकते हैं, लेकिन मैं इन दिनों SSD पर स्वैप पसंद करेंगे। एक घूर्णी डिस्क पर स्वैप डालने से पहनना भी बढ़ सकता है। आधुनिक SSDs घूर्णी डिस्क की तुलना में बहुत तेज़ी से नहीं पहनते हैं।
गमथ
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.