क्या यह लिनक्स सिस्टम में स्वैप क्षेत्र की मात्रा के बारे में बात करता है


12

क्या इससे कोई फर्क नहीं पड़ता कि लिनक्स में स्वैप क्षेत्र की मात्रा बहुत कम थी (1Gb कहें), और मुख्य RAM है 128Gb?

क्या हमें हमेशा स्वैप क्षेत्र की मात्रा को रैम की मात्रा से दोगुना होना चाहिए?

अपडेट:

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

जानकारी

MEMTOTउस मशीन की रैम की कुल राशि, है SWAPTOकि मशीन के दप एपी क्षेत्र की कुल राशि है, और SWAPUSस्वैप क्षेत्र के अधिक इस्तेमाल किया राशि है। जैसा कि चित्र में दिखाया गया है, SWAP का उपयोग वास्तव में छोटा है।

यहाँ पोस्ट की गई उन समस्याओं को हल करने का प्रयास करते समय , हमें यकीन नहीं है कि अगर SWAP क्षेत्र की मात्रा बहुत छोटी है, जो कि 1Gbसापेक्ष है 128Gb, जैसा कि चित्र में दिखाया गया है। इस प्रकार, मेरे पास यह प्रश्न है। मुझे खेद है कि मैंने इस पोस्ट के मूल संस्करण में पूरी पृष्ठभूमि की जानकारी पोस्ट नहीं की। इससे पहले, हमने यह भी सोचा कि अगर रैम की मात्रा बड़ी है, तो हम SWAP की मात्रा को छोटा कर सकते हैं। हम स्वैप सेट करने की कोशिश की c0148जा करने के लिए 16Gb, समस्या कोई भी हो रहा है (हो सकता है कि हम एक लंबे समय के लिए उनकी स्थितियों के अवलोकन करने के बाद इस निष्कर्ष लेना चाहिए)।

हम लिनक्स सिस्टम पर पेशेवर नहीं हैं, और हम यह नहीं बता सके कि ऐसा क्यों हुआ। यह संभावना है कि यह एक क्लस्टर सिस्टम है, और SGE प्रत्येक मशीन के संसाधनों का प्रबंधन कर रहा है, और इसके लिए SWAP की एक बड़ी मात्रा की आवश्यकता है, क्योंकि उस मशीन का उपयोग कई उपयोगकर्ताओं द्वारा प्रस्तुत कई नौकरियों द्वारा किया जा सकता है।

इसके अलावा, अगर हम सिर्फ SWAP की मात्रा बहुत बड़ी कर देते हैं, तो इससे होने वाली अन्य समस्याएं भी ध्यान देने योग्य हैं।


1
यदि आपके पास 128 जीबी की रैम है, और आप स्वैप करना शुरू कर देते हैं - तो यह प्रणाली संभवत: नियंत्रण से बाहर हो जाएगी और वैसे भी मृत हो सकती है। मैं, व्यक्तिगत रूप से, शायद बिना स्वैप के उस सर्वर को चलाऊंगा। OOMKiller को किसी भी भगोड़ा प्रक्रिया का ध्यान रखना चाहिए क्योंकि स्मृति से बाहर निकलने से पहले दुर्घटना हो जाती है - और दुर्घटना किसी भी रास्ते को ठीक करने के लिए तेज होती है।
रयान गुलेर

1
जो होगा - क्या? Init से सामान के कुछ megs? कुछ कैश्ड मेमोरी जो जल्द से जल्द फेंक दी जाएगी क्योंकि वास्तव में कुछ को राम की जरूरत है? यदि आपकी मशीन कार्य करने के लिए मेमोरी को स्वैप करना चाहती है, तो इसके अतिभारित और किसी भी रास्ते को बढ़ाने की आवश्यकता है।
रयान गुलेर

1
@ रयान गुलेर: यदि आप वैज्ञानिक सिमुलेशन कर रहे हैं, तो 128 गब या इससे अधिक का उपयोग करने वाली प्रक्रिया अनुचित नहीं है।
jamesqf


1
@RyanGooler सही है। मेरा कहना है कि बढ़ती स्वैप कार्यक्रमों को और अधिक भौतिक राम का उपयोग करने की अनुमति दे सकती है । यह केवल कुछ एमबी है, लेकिन यह कुछ भी नहीं से बेहतर है :)
नवीन

जवाबों:


19

लिनक्स कर्नेल के पास यह नियंत्रित करने के लिए एक सेटिंग है कि कितनी बार स्वैप का उपयोग किया जाता है, कहा जाता है swappiness, /unix/88693/why-is-swappiness-set-to-60-by-default पर वर्णित है ।

शून्य के स्वैग का मतलब है कि स्वैप का उपयोग केवल तभी किया जाएगा जब सिस्टम मेमोरी से बाहर चला जाएगा। तुरंत स्वैप का उपयोग करने के लिए 100 बलों के कार्यक्रमों की एक अदला-बदली।

अपने सिस्टम को वैसे ही मोड़ दें जैसा कि आप इसे पसंद करते हैं, लेकिन 128 जीबी रैम होने की संभावना बहुत कम है कि आपका सिस्टम आसानी से मेमोरी से बाहर चला जाता है, इसलिए 2/4 जीबी स्वैप पर्याप्त हो सकता है। यह स्वैप विभाजन के बिना एक प्रणाली को चलाने के लिए उचित, लेकिन संभव नहीं है।

मुझे लगता है कि स्वैप क्षेत्र का नियम रैम की मात्रा से दोगुना है, और केवल उन प्रणालियों पर उपयोगी है जो लगभग 1 जीबी रैम हैं और हमेशा पूर्ण रैम उपयोग के किनारे पर हैं।


2
swappiness0 पर सेट करना बड़ी मात्रा में RAM के साथ तार्किक लगता है, इसे डिफ़ॉल्ट मान के रूप में रखना बेहतर हो सकता है 60: http://unix.stackexchange.com/a/88820/50687
AL

1
क्या एक अक्ष पर ० से १०० तक स्वैग के साथ कुछ ग्राफ है और दूसरे पर कुछ और कैसे प्रदर्शित होता है ... स्वपन मूल्य पर निर्भर करता है?
user1306322 20

हाय, @jcbermu, मैंने पोस्ट को अपडेट किया है, यदि सुविधाजनक हो, तो कृपया इसे जांचें।
खनन

5

मेरा मानना ​​है कि अंगूठे का 2x नियम पुराना है। हमारे वर्कस्टेशन में 16 जीबी रैम है, हम आम तौर पर केवल 25% का उपयोग करते हैं और शायद ही 50% से अधिक का उपयोग करते हैं। इसलिए हमारे उद्देश्यों के लिए, हम किसी भी स्वैप का उपयोग नहीं करते हैं।

चूंकि आपको तय करना है कि कितना स्वैप बनाना है, और यह सैद्धांतिक है कि आपके द्वारा चुना गया कोई भी नंबर किसी बिंदु पर पर्याप्त नहीं होगा, तो 0 क्यों नहीं चुना जाए? या - क्यों नहीं बस अधिक रैम स्थापित करें?

मेरा मानना ​​है कि यह एक बहुत ही व्यक्तिगत निर्णय है जो आपके कंप्यूटर का उपयोग किया जाएगा और यह कितना रैम पर आधारित है।


हाय, @gjcamnn, उत्तर देने के लिए धन्यवाद। मैंने पोस्ट अपडेट कर दी है, यदि सुविधाजनक हो, तो कृपया इसे देखें।
खनन

0

जब तक आप कुछ मेमोरी खपत गणना करने जा रहे हैं, तब तक आपको स्वैप की आवश्यकता नहीं है (लेकिन छोटे स्वैप विभाजन के लिए बेहतर है)। लेकिन जब आप डिस्क को सस्पेंड करने जा रहे हैं तो स्वैप> रैम की जरूरत है।


नमस्ते, @ उत्तर, उत्तर देने के लिए धन्यवाद। मैंने पोस्ट अपडेट कर दी है, यदि सुविधाजनक हो, तो कृपया इसे देखें।
खनन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.