- स्वैप विभाजन का उद्देश्य क्या है?
- मुझे कैसे पता चलेगा कि मेरे पास पर्याप्त स्वैप विभाजन है? बहुत ज्यादा / कम नहीं।
मेरा Ubuntu पीसी ठेठ सामान के लिए प्रयोग किया जाता है:
- वेब (ईमेल, फेसबुक, आदि)
- कुछ फिल्में
- गेमिंग दुर्लभ है
मेरा Ubuntu पीसी ठेठ सामान के लिए प्रयोग किया जाता है:
जवाबों:
स्वैप विभाजन कुछ उद्देश्यों को पूरा करता है।
यह 'बैकअप' रैम के रूप में कार्य करता है। अर्थात्, आपका कंप्यूटर रैम से बाहर चलना चाहिए, यह स्वैप क्षेत्र का उपयोग अधिक मेमोरी के अस्थायी स्रोत के रूप में करेगा। अधिक विशेष रूप से, यह रैम से अप्रयुक्त वस्तुओं को स्वैप क्षेत्र में 'स्वैप' करेगा ताकि उन अनुप्रयोगों के लिए अतिरिक्त स्थान छोड़ दिया जा सके, जिनकी तत्काल आवश्यकता है। यह आदर्श नहीं है क्योंकि हार्ड ड्राइव में डेटा ट्रांसफर दर आपके सामान्य रैम की तुलना में काफी कम है। व्यवहार में इसका अर्थ है कि स्वैप क्षेत्र से जानकारी प्राप्त करने के लिए इसका बहुत धीमा।
इसका उपयोग कंप्यूटर हाइबरनेट करते समय किया जाता है। हाइबरनेशन में रैम की छवि अपनी वर्तमान स्थिति में होती है (जैसे एक आईएसओ एक छवि का प्रतिनिधित्व करता है), और इसे स्वैप क्षेत्र में बचाता है। कंप्यूटर के पुनरारंभ होने पर यह इस छवि को फिर से लोड करता है।
सबसे उपयोगी होने के लिए, स्वैप क्षेत्र कम से कम होना चाहिए (रैम * 1.5) हालांकि अधिक अनुशंसित है। उदाहरण के लिए, 3 जी रैम के साथ मेरे सिस्टम पर, मेरे पास 7.2 जीबी का स्वैप क्षेत्र है।
यह एक स्वैप विभाजन के लिए "सही" आकार के बारे में इस प्रश्न के समान ही है । मेरे जवाब में से एक ही जानकारी वहां लागू होती है - मूल रूप से, यदि आप हाइबरनेट करना चाहते हैं, तो आप आमतौर पर चाहते हैं कि आपका स्वैप स्थान कम से कम आपकी रैम जितना बड़ा हो, और इसके अलावा 1 या 2 जीबी की तरह एक गोल संख्या आसानी से पर्याप्त है। क्योंकि स्वैप RAM की तुलना में बहुत धीमा है, यदि आप स्वैप के कई गीगाबाइट भर रहे हैं तो आपका कंप्यूटर लगभग निश्चित रूप से धीमा हो गया है।
एक स्वैप विभाजन के लिए कोई वास्तविक आवश्यकता नहीं है - स्वैप फाइलें (मुख्यधारा के लिनक्स फाइल सिस्टम पर उपलब्ध) एक ही प्रदर्शन देती हैं और यदि आप तय नहीं कर पाए हैं तो अधिक स्वैप स्थान जोड़ने के लिए यह बहुत आसान है।
यहाँ स्वैप के बारे में एक बहुत गहरी जानकारी है
कुछ लोग कहते हैं कि आपके राम का दुगुना लेकिन व्यक्तिगत रूप से मैं यह सलाह देता हूं:
स्वैप = 1.5 X कुल राम
उदाहरण :
यदि आपके पास 2Gb का RAM -> स्वैप = 1.5 x 2 = 3 है
पीडी: उबंटू डेस्कटॉप स्वेप टू हाइबरनेट का उपयोग करता है (पीसी बंद, कोई शक्ति की आवश्यकता नहीं, प्रोग्राम स्टेट्स सहेजे गए)। यदि हाइबरनेशन आपके लिए महत्वपूर्ण है, तो अधिक स्वैप स्थान है तो राम + स्वैप अतिप्रवाह।
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 सेकंड में स्वैप का उपयोग नहीं कर रहा हूं।
आप निम्न आदेश का उपयोग करके उपयोग और उपलब्ध स्वैप क्षेत्र की जांच कर सकते हैं:
$ cat /proc/swaps
Filename Type Size Used Priority
/dev/sda10 partition 7812092 16 -1
मेरे पास एक धीमे हार्ड ड्राइव वाला लैपटॉप है, लेकिन अपेक्षाकृत उच्च रैम (8 जीबी) है। इस सेटअप पर, मुझे निम्नलिखित कारणों से प्रतिस्पद्र्धात्मक होने के लिए एक स्वैप ड्राइव मिलती है:
वापस स्वैप से आवेदन प्राप्त करना धीमा है , एप्लीकेशन को स्क्रैच से लोड करने के लिए तुलनीय है। मेरे पास एक ऐसा वातावरण होगा जो जल्दी से प्रतिक्रिया करता है, भले ही इसका मतलब है कि मुझे कभी-कभी अनुप्रयोगों को बंद करना और फिर से लोड करना पड़ता है, एक पर्यावरण की तुलना में जो कभी-कभी अप्रत्याशित रूप से मुझ पर स्टॉल करता है।
अगर मुझे हाइबरनेट करने की क्षमता चाहिए, तो इसका मतलब होगा कि डिस्क पर बहुत अधिक डेटा लिखना। यह बैटरी पर एक निरंतर नाली होगी यदि यह लगातार किया गया था ( स्वैप्पीपन का डिफ़ॉल्ट व्यवहार 60 ), या यदि यह केवल हाइबरनेशन के समय (स्वपन को कम करके) किया गया था, तो वास्तव में निस्संकोच होने में लंबा समय लगेगा। मुझे लगता है कि डिस्क को निलंबित करने के बजाय रैम होना काफी संतोषजनक है। यह कुछ दिनों के लिए निलंबित रह सकता है, और यह एक पूर्ण हाइबरनेशन की तुलना में बहुत अधिक तेजी से आगे बढ़ेगा।
क्योंकि हार्ड ड्राइव धीमा है, मैं डिस्क कैश के लिए 1 जीबी रैम को रखना पसंद करता हूं , प्रभावी रूप से गति के लिए मेमोरी का आदान-प्रदान करता है। यह मेरी मशीन को झकझोर कर रख देता है, लेकिन इसका मतलब है कि मैं अपने 8GB रैम में से केवल 7GB का ही उपयोग कर सकता हूं। जिस सॉफ्टवेयर को मैं प्राप्त करने के लिए उपयोग करता हूं वह अर्लीओम का एक कांटा है जो पुराने ब्राउज़र टैब को मारता है जब 88% रैम का उपयोग किया गया है। मुझे कभी-कभी पुराने ब्राउज़र टैब को फिर से लोड करना पड़ता है जो मारे गए हैं।
यह सलाह कब लागू होगी?
यदि आपके पास एक तेज़ हार्ड डिस्क ड्राइव , या एसएसडी है, और बैटरी नाली के बारे में कम चिंता है, तो मैं ऊपर उल्लिखित नुकसान लागू नहीं होगा। (हालांकि शुरुआती SSDs में पहनने के मुद्दे हो सकते हैं, मेरा मानना है कि 2018 के बाद से बेची गई कोई भी SSDs ठीक होनी चाहिए।)
यदि आपकी मशीन में बहुत कम रैम है , या आप एक ही समय में कई मेमोरी-भूखे अनुप्रयोगों का उपयोग करना पसंद करते हैं, तो आपको नुकसान की परवाह किए बिना अपना काम पूरा करने के लिए स्वैप का उपयोग करने की आवश्यकता हो सकती है। यह स्वैप के लिए प्राथमिक उपयोग-मामला था, इससे पहले कि स्मृति सस्ता होने लगे।
यदि आपको वास्तव में हाइबरनेशन की आवश्यकता है (शायद आप अपने लैपटॉप को निलंबित करना चाहते हैं, और चार्ज किए बिना कुछ दिनों के बाद इसे फिर से खोलें) तो आपको एक स्वैप ड्राइव की आवश्यकता है (कम से कम आपके रैम के रूप में बड़े रूप में अनुशंसित)।
चेतावनी: