लिनक्स पर कौन सी फाइल सिस्टम स्वैप है


14

लिनक्स में आप एक्स्टेंशन के लिए ext3 और reiserfs जैसी चीजें चुन सकते हैं। स्वैप विभाजन के लिए, आप बस "स्वैप" चुनें। यह वास्तव में क्या फाइल सिस्टम है? क्या आप केवल एक ext3 विभाजन बना सकते हैं और इसे एक स्वैप विभाजन बना सकते हैं? यह कैसे अलग होगा?


लिनक्स पर स्वैप फाइल सिस्टम को लिनक्स स्वैप फाइल सिस्टम कहा जाता है। यदि मैं इसके बारे में कुछ वास्तविक जानकारी प्राप्त करने का प्रबंधन करता हूं, तो मैं एक उत्तर पोस्ट करूंगा। अब तक, मैंने en.wikipedia.org/wiki/ से पढ़ा है कि कर्नेल स्वैप फाइल पर फाइल सिस्टम को बायपास करता है। स्वैप विभाजन के साथ भी यही सच हो सकता है।
आंद्रेजाको

1
गेंटू मंचों पर अविश्वसनीय लोगों ने मुझे इस लिंक के साथ प्रदान किया ! लगता है सब कुछ अच्छी तरह से समझाया गया है। ओह और धन्यवाद John R. Graham
आंद्रेजाको

जवाबों:


26

स्वैप कोई वास्तविक फाइल सिस्टम नहीं है। यह डिस्क का एक आरक्षित हिस्सा है जो बिना किसी विशेष संरचना के कच्ची पता योग्य मेमोरी है।

mkswap कुछ अतिरिक्त जानकारी के साथ स्वैप क्षेत्र के लिए एक हेडर बनाता है। उपयोग- linux- एनजी पैकेज के swapheader.h से:

struct swap_header_v1 {
    char         bootbits[1024];    /* Space for disklabel etc. */
    unsigned int version;
    unsigned int last_page;
    unsigned int nr_badpages;
    unsigned int padding[125];
    unsigned int badpages[1];
};

हैडर संस्करण 1 वर्तमान में इस्तेमाल किया गया है। स्वैप के कच्चे ढांचे के पीछे सभी जादू के बारे में।


क्या विभाजन के लिए सार्थक कुछ भी पढ़ने और लिखने के लिए किसी प्रकार की फ़ाइल प्रणाली नहीं है?
tony_sid

5
नहीं, आपको बस स्मृति के विखंडन को संबोधित करना है। ठीक यही पेज हैं। Thats क्योंकि आप डेटा को किसी जटिल संरचना या वास्तविक फ़ाइल सिस्टम की तरह अतिरिक्त जानकारी के साथ संग्रहीत नहीं करते हैं जहाँ अनुमतियाँ और दिनांक डेटा के साथ संग्रहीत होती हैं।
मथायस क्रुल

6
यदि आपके पास फ़ाइल सिस्टम नहीं है, तो आप अभी भी ब्लॉक को संबोधित कर सकते हैं।
मथायस क्रुल

8

मुझे लगता है कि स्वैप विभाजन को फाइल सिस्टम की आवश्यकता नहीं है क्योंकि इसमें कोई फाइल और निर्देशिका नहीं हैं। स्वैप विभाजन आभासी रैम जगह है।


2
यह आभासी राम स्थान नहीं है। यह (RAM की तरह) मेमोरी है जिसे किसी प्रक्रिया की वर्चुअल मेमोरी में मैप किया जा सकता है।
मथायस क्रुल

4

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

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


2
उत्तर वास्तव में अच्छा है और समस्या के मूल की व्याख्या करता है, लेकिन यह प्रश्न का उत्तर है "जीएनयू / लिनक्स पर स्वैप क्या है?" तो यहाँ क्या कर रहा है? इसके अलावा, लिंक linux.com/news/software/applications/…
आंद्रेजाको

मुझे पता है कि स्वैप क्या होता है।
tony_sid 11

... स्वैप फाइल ऑप्शन के बारे में नहीं पता था
MrCalvin

-1

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

कौनसा अच्छा है:

यह बहस "पुराने" दिनों में बहुत अधिक रोचक हुआ करती थी क्योंकि:

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

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

क्यों फाइलसिस्टम स्वैप "बेहतर" है: आकार बदलने के लिए बहुत आसान है। जब आप विभाजन का आकार बदलते हैं तो यह केवल नई फ़ाइलों को बनाने की तुलना में बहुत कठिन होता है।

आज हालांकि कच्चे विभाजन के बजाय LVM का उपयोग करने वाले बहुत से लोगों के साथ, आपके स्वैप स्थान को सिकोड़ना और बढ़ना आसान है

आज यह और भी अधिक लूट है: प्रदर्शन के कारणों के लिए इन दिनों अधिकांश सर्वर यह लागत के लायक है बस इसे स्मृति से भरा है। (यह बहस तब ज्यादा लोकप्रिय हुआ करती थी जब RAM मुश्किल से आती थी और सर्वर में केवल 4GB से 8GB रैम लगाना आम बात थी)

क्यों मैं उपयोग FILESYSTEM स्वैप (और सामान्य रूप से स्वैप)

इन दिनों मैं अपने दोस्तों को 4gig स्वैप ओनली स्थापित करने का निर्देश देता हूं और हम अपने सभी लिनक्स इंस्टाल के लिए एक ही कॉन्फिगर / इमेज का उपयोग करते हैं। Oracle इंस्टॉलेशन के लिए उच्च स्वैप उपयोग की आवश्यकता होती है, ताकि उन सिस्टम के लिए जो Oracle होंगे, तब मैं फ़ाइल सिस्टम स्वैप के साथ बाकी का निर्माण करूंगा। यह संभव है कि आपके आवेदन में स्वैप की आवश्यकता हो सकती है जिस स्थिति में आप इसे बाद में फाइल सिस्टम स्वैप के साथ जोड़ सकते हैं।

क्या यह मदद करता है?

मैं कैसे यहाँ लिनक्स में यह करने के लिए विस्तृत निर्देशों के होते हैं: http://geekswing.com/geek/how-to-add-filesystem-swap-on-linux-and-unix-systems/


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

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