स्वैप विभाजन का महत्व


34
  • स्वैप विभाजन का उद्देश्य क्या है?
  • मुझे कैसे पता चलेगा कि मेरे पास पर्याप्त स्वैप विभाजन है? बहुत ज्यादा / कम नहीं।

मेरा Ubuntu पीसी ठेठ सामान के लिए प्रयोग किया जाता है:

  • वेब (ईमेल, फेसबुक, आदि)
  • कुछ फिल्में
  • गेमिंग दुर्लभ है

क्या पोस्ट किया गया है ऐसा लगता है कि मेरे पास बहुत ज्यादा स्वैप है। 3 जीबी रैम, 300 जीबी एचडी और स्वैप के लिए 8 जीबी का विभाजन।
लैमक्रो

2
अतिरिक्त स्वैप जो उपयोग नहीं किया जाता है वह आपको चोट नहीं पहुंचाने वाला है, और इसे छोटा बनाने के लिए आपके ड्राइव के 1.7% को पुनः प्राप्त करना संभवतः प्रयास के लायक नहीं है। हाँ, यह अब तक आपके द्वारा उपयोग किए जाने की तुलना में कहीं अधिक बड़ा है, मैं इसके बारे में चिंता नहीं करूँगा।
msw

1
आप इसे "भविष्य के प्रमाण" स्वैप विभाजन के रूप में भी देख सकते हैं, यदि आप कभी भी अपने सिस्टम में अतिरिक्त मेमोरी जोड़ते हैं, तो आपको स्वैप को बढ़ाना नहीं होगा ... :)
JanC

जवाबों:


15

स्वैप विभाजन कुछ उद्देश्यों को पूरा करता है।

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

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

  • सबसे उपयोगी होने के लिए, स्वैप क्षेत्र कम से कम होना चाहिए (रैम * 1.5) हालांकि अधिक अनुशंसित है। उदाहरण के लिए, 3 जी रैम के साथ मेरे सिस्टम पर, मेरे पास 7.2 जीबी का स्वैप क्षेत्र है।


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

-1; "(RAM * 1.5) हालांकि अधिक अनुशंसित है" - डेस्कटॉप पीसी पर? आप पारंपरिक ज्ञान को दोहरा रहे हैं जो वर्षों से झूठ है।

@ user280493 ध्यान देने योग्य बात यह है कि उत्तर वर्षों पुराना था ... वर्षों पहले जब आपने टिप्पणी की थी।
क्रिस्पोल

7

यह एक स्वैप विभाजन के लिए "सही" आकार के बारे में इस प्रश्न के समान ही है । मेरे जवाब में से एक ही जानकारी वहां लागू होती है - मूल रूप से, यदि आप हाइबरनेट करना चाहते हैं, तो आप आमतौर पर चाहते हैं कि आपका स्वैप स्थान कम से कम आपकी रैम जितना बड़ा हो, और इसके अलावा 1 या 2 जीबी की तरह एक गोल संख्या आसानी से पर्याप्त है। क्योंकि स्वैप RAM की तुलना में बहुत धीमा है, यदि आप स्वैप के कई गीगाबाइट भर रहे हैं तो आपका कंप्यूटर लगभग निश्चित रूप से धीमा हो गया है।

एक स्वैप विभाजन के लिए कोई वास्तविक आवश्यकता नहीं है - स्वैप फाइलें (मुख्यधारा के लिनक्स फाइल सिस्टम पर उपलब्ध) एक ही प्रदर्शन देती हैं और यदि आप तय नहीं कर पाए हैं तो अधिक स्वैप स्थान जोड़ने के लिए यह बहुत आसान है।


4

यहाँ स्वैप के बारे में एक बहुत गहरी जानकारी है

कुछ लोग कहते हैं कि आपके राम का दुगुना लेकिन व्यक्तिगत रूप से मैं यह सलाह देता हूं:

स्वैप = 1.5 X कुल राम

उदाहरण :

यदि आपके पास 2Gb का RAM -> स्वैप = 1.5 x 2 = 3 है

पीडी: उबंटू डेस्कटॉप स्वेप टू हाइबरनेट का उपयोग करता है (पीसी बंद, कोई शक्ति की आवश्यकता नहीं, प्रोग्राम स्टेट्स सहेजे गए)। यदि हाइबरनेशन आपके लिए महत्वपूर्ण है, तो अधिक स्वैप स्थान है तो राम + स्वैप अतिप्रवाह।


2

freeआदेश आप बता सकते हैं कि आप कितना स्वैप का उपयोग कर रहे हैं। इस मशीन पर उदाहरण के लिए:

$ free -m
             total       used       free     buffers     cached
Mem:          1947       1863         84         312        758
-/+ buffers/cache:        792       1154
Swap:         4000          3       3997

मुझे दिखाता है कि मेरे पास 2GB (1947m) रैम है और सिस्टम ने इसका सबसे अधिक उपयोग किया है। हालाँकि, I / O बफ़र्स के लिए 312m का उपयोग किया जाता है और शेष (758m) सिस्टम ने डिस्क कैश से भरने का फैसला किया है।

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

यही कारण है कि एक दूसरी पंक्ति है जो दिखाती है कि अगर कोई बफरिंग और कैश नहीं थे, तो मुझे अपना आधा रैम (1154 मी) उपयोग के लिए उपलब्ध होगा।

तीसरी पंक्ति से पता चलता है कि मेरे पास एक बहुत बड़ा स्वैप विभाजन है (यह वहां था और कुछ भी नहीं कर रहा था) जिसमें से 3 एम का उपयोग किया गया है। यह सामान है कि कर्नेल वास्तव में कभी भी उपयोग करने की उम्मीद नहीं करता है इसलिए यह "बैक पोर्च" पर अटक गया था।

जबकि freeतुम अब स्नैपशॉट देता है, vmstatयदि आप एक चल रहा है समझ सकते हैं:

$ vmstat 10
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
 0  0   3588  86236 316524 769132    0    0    14    13  126   81  4  1 95  0
 0  0   3588  83872 316532 770512    0    0     0    20  264 1229  3  1 96  0

वहाँ बहुत सारी जानकारी है, लेकिन रुचि यह है कि कोई स्वैप-इन (si) या स्वैप-आउट (इतना) ट्रैफ़िक नहीं है। जिसका मतलब है कि मैं पिछले 10 सेकंड में स्वैप का उपयोग नहीं कर रहा हूं।


0
  • स्वैप क्षेत्र सीमित डिस्क रैम मेमोरी का समर्थन करने के लिए उपयोग किए जाने वाले हार्ड डिस्क स्थान का हिस्सा है। RAM आकार में सीमित है, इसलिए कुछ अनुप्रयोगों को उपलब्ध RAM स्थान की तुलना में अधिक RAM की आवश्यकता होती है, उस स्थिति में इस Swap Space को RAM का समर्थन करने के लिए उपयोग की जाने वाली Virtual Memory भी कहा जाता है।
  • यह रैम की गति की तुलना में गति में धीमा है। जब हम एक बड़ा एप्लिकेशन चलाते हैं, तो हार्ड ड्राइव पर स्वैप एरिया में स्वैप करने के लिए उस एप्लिकेशन का कम से कम हाल ही में उपयोग किया गया हिस्सा, जरूरत पड़ने पर इसे स्वैप एरिया से वापस स्वैप किया जाता है। यह ऑपरेटिंग सिस्टम को वास्तव में होने की तुलना में अधिक रैम होने का एहसास देता है।
  • यह ऑपरेटिंग सिस्टम स्थापित करते समय बनाई गई हार्ड डिस्क पर एक समर्पित विभाजन है।
  • यदि RAM का आकार दोगुना हो जाए तो अच्छा है।
  • आप निम्न आदेश का उपयोग करके उपयोग और उपलब्ध स्वैप क्षेत्र की जांच कर सकते हैं:

    $ cat /proc/swaps 
    Filename                Type        Size    Used    Priority
    /dev/sda10              partition   7812092  16      -1
    

0

मेरे पास एक धीमे हार्ड ड्राइव वाला लैपटॉप है, लेकिन अपेक्षाकृत उच्च रैम (8 जीबी) है। इस सेटअप पर, मुझे निम्नलिखित कारणों से प्रतिस्पद्र्धात्मक होने के लिए एक स्वैप ड्राइव मिलती है:

  1. वापस स्वैप से आवेदन प्राप्त करना धीमा है , एप्‍लीकेशन को स्‍क्रैच से लोड करने के लिए तुलनीय है। मेरे पास एक ऐसा वातावरण होगा जो जल्दी से प्रतिक्रिया करता है, भले ही इसका मतलब है कि मुझे कभी-कभी अनुप्रयोगों को बंद करना और फिर से लोड करना पड़ता है, एक पर्यावरण की तुलना में जो कभी-कभी अप्रत्याशित रूप से मुझ पर स्टॉल करता है।

  2. अगर मुझे हाइबरनेट करने की क्षमता चाहिए, तो इसका मतलब होगा कि डिस्क पर बहुत अधिक डेटा लिखना। यह बैटरी पर एक निरंतर नाली होगी यदि यह लगातार किया गया था ( स्वैप्पीपन का डिफ़ॉल्ट व्यवहार 60 ), या यदि यह केवल हाइबरनेशन के समय (स्वपन को कम करके) किया गया था, तो वास्तव में निस्संकोच होने में लंबा समय लगेगा। मुझे लगता है कि डिस्क को निलंबित करने के बजाय रैम होना काफी संतोषजनक है। यह कुछ दिनों के लिए निलंबित रह सकता है, और यह एक पूर्ण हाइबरनेशन की तुलना में बहुत अधिक तेजी से आगे बढ़ेगा।

  3. क्योंकि हार्ड ड्राइव धीमा है, मैं डिस्क कैश के लिए 1 जीबी रैम को रखना पसंद करता हूं , प्रभावी रूप से गति के लिए मेमोरी का आदान-प्रदान करता है। यह मेरी मशीन को झकझोर कर रख देता है, लेकिन इसका मतलब है कि मैं अपने 8GB रैम में से केवल 7GB का ही उपयोग कर सकता हूं। जिस सॉफ्टवेयर को मैं प्राप्त करने के लिए उपयोग करता हूं वह अर्लीओम का एक कांटा है जो पुराने ब्राउज़र टैब को मारता है जब 88% रैम का उपयोग किया गया है। मुझे कभी-कभी पुराने ब्राउज़र टैब को फिर से लोड करना पड़ता है जो मारे गए हैं।

यह सलाह कब लागू होगी?

  • यदि आपके पास एक तेज़ हार्ड डिस्क ड्राइव , या एसएसडी है, और बैटरी नाली के बारे में कम चिंता है, तो मैं ऊपर उल्लिखित नुकसान लागू नहीं होगा। (हालांकि शुरुआती SSDs में पहनने के मुद्दे हो सकते हैं, मेरा मानना ​​है कि 2018 के बाद से बेची गई कोई भी SSDs ठीक होनी चाहिए।)

  • यदि आपकी मशीन में बहुत कम रैम है , या आप एक ही समय में कई मेमोरी-भूखे अनुप्रयोगों का उपयोग करना पसंद करते हैं, तो आपको नुकसान की परवाह किए बिना अपना काम पूरा करने के लिए स्वैप का उपयोग करने की आवश्यकता हो सकती है। यह स्वैप के लिए प्राथमिक उपयोग-मामला था, इससे पहले कि स्मृति सस्ता होने लगे।

  • यदि आपको वास्तव में हाइबरनेशन की आवश्यकता है (शायद आप अपने लैपटॉप को निलंबित करना चाहते हैं, और चार्ज किए बिना कुछ दिनों के बाद इसे फिर से खोलें) तो आपको एक स्वैप ड्राइव की आवश्यकता है (कम से कम आपके रैम के रूप में बड़े रूप में अनुशंसित)।

चेतावनी:

  • कुछ सॉफ्टवेयर जो हम लंबे समय तक चलाना छोड़ देते हैं (विशेषकर ओएस और डेस्कटॉप वातावरण) कोड को मेमोरी में लोड कर देगा जो वास्तव में फिर कभी उपयोग नहीं किया जाएगा। इन पृष्ठों को स्वैप करने के लिए स्थानांतरित किया जा सकता है और इसे फिर से बाहर निकालने की आवश्यकता नहीं होगी, इस प्रकार मैं पहले बताए गए नुकसान से बचता हूं। इस कारण से, मैं कभी-कभी एक छोटी सी 512MB या 1GB स्वैप फ़ाइल बनाता हूं , और मेमोरी के अप्रयुक्त पृष्ठों को स्वैप करने देता हूं । यह सिर्फ मुझे अनुप्रयोगों के लिए थोड़ा और रैम के साथ छोड़ देता है। (आवश्यक: स्वैप स्वैप को मापने के लिए एक तकनीक, जो इस स्वैप फ़ाइल के आकार को ट्यून करने में मदद करती है।)
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.