रास्पबेरी पाई में केवल 256 एमबी रैम है, इसलिए मैं स्वैप स्पेस (या तो एसडी कार्ड या संलग्न यूएसबी स्टोरेज) का उपयोग करना चाहूंगा। मैं इसे किस तरह से सेट अप करूं?
रास्पबेरी पाई में केवल 256 एमबी रैम है, इसलिए मैं स्वैप स्पेस (या तो एसडी कार्ड या संलग्न यूएसबी स्टोरेज) का उपयोग करना चाहूंगा। मैं इसे किस तरह से सेट अप करूं?
जवाबों:
रास्पियन डैफ़- स्वैफ़ाइल का उपयोग करता है , जो "मानक" स्वैप-विभाजन आधारित समाधान के बजाय एक स्वैप-फ़ाइल आधारित समाधान है। स्वैप का आकार बदलना बहुत आसान है।
कॉन्फ़िगरेशन फ़ाइल है:
/etc/dphys-swapfile
सामग्री बहुत सरल है। डिफ़ॉल्ट रूप से मेरे रास्पियन में 100MB स्वैप है:
CONF_SWAPSIZE=100
यदि आप आकार बदलना चाहते हैं, तो आपको संख्या को संशोधित करने और dphys-swapfile को पुनरारंभ करने की आवश्यकता है:
/etc/init.d/dphys-swapfile restart
संपादित करें: रास्पबियन पर डिफ़ॉल्ट स्थान / var / स्वैप है, जो (निश्चित रूप से) एसडी कार्ड पर स्थित है। मुझे लगता है कि यह एक बुरा विचार है, इसलिए मैं यह बताना चाहूंगा कि / etc / dphys-swapfile के पास निम्न विकल्प भी हो सकते हैं: CONF_SWAPFILE = / media / btsync / swapfile
मुझे केवल इसके साथ समस्या है, USB संग्रहण को स्वचालित किया जाता है, इसलिए यहां एक संभावित दौड़ (ऑटोमाउंट बनाम स्वेपोन)
/var/swap
करना एक बुरा विचार क्यों है?
आप काफी आसानी से स्वैप स्पेस सेट कर सकते हैं। उदाहरण के लिए, यदि आपका USB ड्राइव है /dev/sdx
, तो आप उपयोग करेंगे (आपको इसके लिए मूल होना चाहिए):
$ mkswap /dev/sdx
$ swapon /dev/sdx
ध्यान दें कि यह पूरे उपकरण का उपयोग करेगा और आप शायद इस पर सभी मौजूदा डेटा खो देंगे।
आप एक स्वैप फाइल भी बना सकते हैं ( loop
डिवाइस का उपयोग करके ) इस तरह:
$ dd if=/dev/zero of=/path/to/swapfile bs=1M count=1024 # For 1GB swap file
$ mkswap /path/to/swapfile
$ swapon /path/to/swapfile
जब आपको अब स्वैप फ़ाइल की आवश्यकता नहीं है (यदि आप उदाहरण के लिए यूएसबी ड्राइव को बाहर निकालना चाहते हैं), तो आपको उपयोग करना होगा swapoff <device>
। ऐसा नहीं करने पर शायद सिस्टम क्रैश हो जाएगा।
आपको हालांकि सावधान रहना चाहिए । एसडी कार्ड में सीमित रीड / राइट सीमा होती है और यह इसके जीवनकाल को छोटा कर देगा। यदि आप बाहरी हार्ड ड्राइव का उपयोग कर रहे हैं, तो आपको ठीक होना चाहिए, लेकिन यह बहुत धीमा होगा।
mkswap
से उनके रूट विभाजन पर चलने से बचने के लिए आपको इसे बदलना चाहिए । मुझे लगता sdx
है कि एक अच्छा सम्मेलन है।
ऐसा बिल्कुल न करें।
आपको रास्पबेरी पाई पर स्वैप सक्षम नहीं करना चाहिए ।
हालांकि यह संभव है, यह उपयोगी नहीं है। यहां तक कि एक कक्षा 10 एसडीएचसी कार्ड पर, यह बहुत धीमा है। साथ ही आप एसडी कार्ड की उम्र कम कर देंगे।
किसी भी फ्लैश-आधारित स्टोरेज डिवाइस (एसडी कार्ड, एसडीडी, यूएसबी थंब ड्राइव) पर आपको सिस्टम-वाइड पॉज़ देखने की संभावना होती है जबकि फ्लैश ब्लॉक का एक बड़ा समूह मिट जाता है।
संभावित अपवाद:
Raspbmc /etc/init/swap.conf
स्वैप / अदला-बदली फ़ाइल के माध्यम से कॉन्फ़िगर करने के लिए उपयोग करता है। यह पहले की उपस्थिति के लिए जाँच करता है /home/pi/.enable_swap
।
यदि आप हटाते हैं, /home/pi/.enable_swap
तो स्वैप फ़ाइल नहीं बनाई जाती है, और फिर touch /home/pi/.enable_swap
यदि आपको स्वैप चालू करने और रीबूट करने की आवश्यकता है, तो इसे फिर से बनाएं।
यह अफ़सोस की बात है कि रास्पबेरी पेस्ट में गीगाबिट ईथरनेट नहीं है, लेकिन कम से कम सैद्धांतिक रूप से संभव है कि नेटवर्क डिवाइस पर स्वैप स्पेस हो - लिनक्स टर्मिनल सर्वर प्रोजेक्ट इसे सर्वर से क्लाइंट्स को उनकी विकी के अनुसार इस आइटम की पेशकश कर सकता है। ।
मुझे एक फाउंडेशन फोरम विषय "टिप: स्वैप ओवर एनएफएस " मिला, जिसमें दिखाया गया है कि किस तरह से पहले से ही पहले से ही कुछ एनएफएस आरोह वाले लोगों में से एक ने उनमें से एक पर एक स्वैपफाइल का इस्तेमाल किया था और इसे लूप-माउंट के माध्यम से माउंट किया था (संभवतः जरूरत है क्योंकि लिनक्स अनुमति नहीं देता है एनएफएस माउंट को सीधे इस्तेमाल किया जा सकता है)। यह देखते हुए कि दूरस्थ स्वैप-फ़ाइल डेटा धारण करेगी जिसे ओएस नहीं खोना चाहिए मैं केवल एक वायर्ड ईथरनेट नेटवर्क के लिए इस पर विचार करूंगा - एक वायरलेस लिंक बहुत नाजुक IMHO होगा। इसके अलावा, बेशक आपको स्वैप बंद किए बिना रिमोट सर्वर को बंद नहीं होने देना चाहिए और इसे पहले पूरी तरह से खाली करने की अनुमति देनी चाहिए!