मैंने काफी समय तक यूनिक्स का उपयोग किया है, और पिछले कुछ वर्षों से मैंने महसूस किया है कि स्वैप एक ऐक्रोनरिज्म है, लेकिन मैं उत्सुक हूं कि अन्य लोग क्या सोचते हैं।
मेरा तर्क लगभग यही है (कोई वैश्विक अल्टीमेट या ओओएम सेटिंग्स की ट्विडलिंग मानते हुए):
There is little value in swap because if you need to swap out to disk,
odds are it's going to be a vicious cycle where an app will continue
to eat not only real memory, but swap as well until it gets OOM
reaped (_if_ it gets OOM reaped).
If you have swap enabled, it will only prolong this death march to
the detriment of other processes - and in the worst case where the
process is not OOM reaped in a timely manner, grind the system to
a halt.
Without swap, it will probably get OOM reaped sooner (if at all)
प्रदर्शन के लिए ट्यून की गई किसी भी सेवा के लिए, मुझे लगता है कि इसके संसाधन उपयोग की ऊपरी सीमाओं को समझना पहली जगह में इसे ट्यूनिंग करने के लिए महत्वपूर्ण होगा, जिस स्थिति में आप जानते हैं कि आपको कितनी आवश्यकता है।
मैं कई स्थितियों की कल्पना नहीं कर सकता (कुछ, लेकिन कई नहीं) जहां आप एक चलने की प्रक्रिया को निलंबित कर देंगे और यह अन्य चीजों के लिए जगह बनाने के लिए स्वैप कर सकता है, लेकिन अगर आपने ऐसा किया, तो आप अपनी कुर्सियां खो देंगे। जीसीआर के माध्यम से कोर-डंप या हाथ से मेमोरी को कॉपी करना कार्यात्मक रूप से समकक्ष होगा।
मैं निश्चित रूप से एक एम्बेडेड सिस्टम पर स्वैप नहीं करना चाहूंगा (भले ही यह एक छोटा उपलब्ध राम हो सकता है), यदि आप राम से बाहर निकलते हैं, तो मैं चाहता हूं कि मेरी प्रक्रिया एक मिलियन-राइट-प्रति-सेक्टर फ्लैश मेमोरी को फाड़ने की तुलना में मर जाएगी। सप्ताहांत में सेक्टरों को नूब के नीचे पहनकर सप्ताहांत में ड्राइव करें।
किसी भी यूनिक्स-दाढ़ी के पास स्वैप करने के लिए कोई सम्मोहक कारण हैं?
अद्यतन जवाब और& विश्लेषण:
की पुष्टि? - कांटा () को माता-पिता के रूप में बच्चे की प्रक्रिया के लिए समान मात्रा में स्मृति की आवश्यकता होती है
POSIX (सामान्य रूप से) पर बच्चों के लिए आधुनिक कांटा () कॉपी-ऑन-राइट है , लेकिन विशेष रूप से लिनक्स और FreeBSD , और मैं एक्सआर एक्सट्रपलेशन द्वारा मान रहा हूं। मैं इसे एराक्रोनॉस्टिक सामान का हिस्सा मानता हूं जो स्वैप करता है।
उत्सुकता से, यह सोलारिस लेख दावा करता है कि भले ही सोलारिस कॉपी-ऑन-राइट के साथ कांटा () का उपयोग करता है, कि आपके पास कम से कम 2x (!) फ़र्क के लिए मुफ्त वर्चुअल मेमोरी में मूल प्रक्रिया का आकार होना चाहिए () बाहर बकवास न करने के लिए! मध्य। जबकि सोलारिस तत्व कुछ हद तक इस तर्क का भंडाफोड़ करता है कि स्वैप एक अभिजनवाद है - मुझे लगता है कि पर्याप्त ऑपरेटिंग सिस्टम सीओडब्ल्यू को इस तरह से सही ढंग से लागू करते हैं कि यह मिथक को दूर करने के लिए अधिक महत्वपूर्ण है कि इसे स्वैप के लिए और औचित्य के रूप में चिह्नित किया जाए। जबसे। चलो सामना करते हैं। इस बिंदु पर जो लोग वास्तव में सोलारिस का उपयोग करते हैं, वे संभवतः ओरेकल लोग हैं। कोई अपराध नहीं सोलारिस!
पुष्ट - देता है जब tmpfs / ramfs भरता tmpfs / ramfs फ़ाइलें एक convienence के रूप में स्वैप करने के लिए जा सकते हैं
नो-लिमिट tmpfs / ramfs का उपयोग न करें! हमेशा स्पष्ट रूप से राम की मात्रा को परिभाषित करें जिसे आप tmpfs / ramfs का उपयोग करना चाहते हैं।
PLAUSABLE - थोड़ा स्वैप करें 'बस के मामले में'
मेरे पुराने मालिकों में से एक ने कहा था, 'तुम नहीं जानते कि तुम क्या नहीं जानते' - अनिवार्य रूप से, आप अभी तक आपके पास मौजूद जानकारी के आधार पर निर्णय नहीं ले सकते। यह मेरे लिए अदला-बदली का एक प्रशंसनीय तर्क है, हालाँकि - मुझे संदेह है कि आपके आवेदन की अदला-बदली हो रही है या नहीं, यह जानने के लिए कि आप किस प्रकार की चीज़ों का पता लगा रहे हैं, यह देखने के लिए भारी होगा कि क्या यह देखने के लिए कि क्या मॉलोक सफल होता है या अपवाद को पकड़ता है। एक नया विफल ()।
यह उन मामलों में उपयोगी हो सकता है, जहां आप एक डेस्कटॉप चला रहे हैं और यादृच्छिक चीजों का एक गुच्छा है, लेकिन फिर भी - अगर कुछ पागल हो जाता है तो मैं इसे OOM होगा स्वैप-नरक में गोता लगाने की तुलना में। वो मैं ही हुं।
का पर्दाफाश! - पर सोलारिस , स्वैप है कारणों की एक जोड़ी के लिए महत्वपूर्ण
tmpfs - बताता है कि tmpfs के लिए उपलब्ध रिक्त स्थान की मात्रा सिस्टम में अनलॉक्ड स्वैप स्थान की मात्रा पर निर्भर करती है। एक tmpfs फ़ाइल सिस्टम का आकार उसके द्वारा लिखी गई फ़ाइलों को समायोजित करने के लिए बढ़ता है, लेकिन tmpfs के भारी उपयोगकर्ताओं के लिए कुछ अंतर्निहित ट्रेडऑफ़ हैं। Tmpfs कार्यक्रमों के निष्पादन के डेटा और स्टैक सेगमेंट के साथ संसाधन साझा करता है। बहुत बड़े कार्यक्रमों का निष्पादन प्रभावित हो सकता है अगर tmpfs फाइल सिस्टम अपने अधिकतम स्वीकार्य आकार के करीब हो। Tmpfs सिस्टम के स्वैप स्पेस के सभी लेकिन 4MB को आवंटित करने के लिए स्वतंत्र है।
स्वैप के बारे में सोलारिस तथ्य और मिथक - वर्चुअल मेमोरी में आज डिस्क पर भौतिक रैम और स्वैप स्थान का योग होता है। Solaris को किसी भी स्वैप स्थान की आवश्यकता नहीं होती है जिसे सभी में कॉन्फ़िगर किया जाना चाहिए। यदि आप इस विकल्प को चुनते हैं, तो एक बार RAM भर जाने के बाद, आप नई प्रक्रियाएँ शुरू नहीं कर पाएंगे। ।
मैं अनिश्चित हूँ अगर इसका मतलब यह है कि आपके द्वारा बनाया गया अधिकतम वर्चुअल मैप ram + swap है , या यदि आप अभी भी कुछ कर सकते हैं जैसे कि mmap () RAM से बड़ी फ़ाइल है और mmap () के आलसी आरंभीकरण पर निर्भर है .. जबकि आप शायद स्वैप के बिना इन दिनों सोलारिस चला सकते हैं, ऐसा लगता है कि यह अन्य POSIXy ऑपरेटिंग सिस्टम की तुलना में इसके बारे में कम अनुकूल है।
का पर्दाफाश! लोकप्रिय लिनक्स हाइबरनेशन उपकरण स्वैप पर भरोसा करते हैं
डिफ़ॉल्ट रूप से, TuxOnIce ऐसा लगता है जैसे यह हाइबरनेशन के लिए स्वैप पर निर्भर करता है - हालांकि अन्य बैकएंड मौजूद हैं। हालाँकि, यदि आप एक बॉक्स नहीं चला रहे हैं, जिसे हाइबरनेट करने की आवश्यकता है, तो मैं अभी भी इस कथन के पीछे खड़ा रहूँगा कि 'स्वैप ऑन लाइनॉक्स है'