क्या उबंटू डायनामिक स्वैप फ़ाइल साइज़िंग का समर्थन करता है?


13

मैं कल्पना नहीं कर सकता कि एक स्वैप फ़ाइल को निश्चित आकार की आवश्यकता क्यों है। आभासी बॉक्स के लिए हार्ड ड्राइव छवि फ़ाइल की तरह इसे गतिशील रूप से आकार क्यों नहीं दिया जाता है?


जब तक आप रन समय पर संपूर्ण स्वैप स्थान जोड़ने और हटाने के विकल्प की गणना नहीं करते, तब तक लिनक्स गतिशील स्वैप स्थान आकारों का समर्थन नहीं करता है। (न ही विंडोज btw।, बाद में भी नहीं।)
डेविड फ़ॉस्टर

क्या मैक गतिशील स्वैप का समर्थन करता है?
टॉम मर्सर

मुझे पता नहीं है। यह एक पूरी तरह से अलग कर्नेल है जिसका मैंने अध्ययन नहीं किया है। संभावना है कि यह लिनक्स में स्वैप स्थान के समान है। वैसे भी, यदि आप OS X के डार्विन कर्नेल के बारे में कोई नया या अनुवर्ती प्रश्न पूछते हैं , तो क्या आप एक नया प्रश्न यूनिक्स और लिनक्स खोल सकते हैं या अलग-अलग पूछ सकते हैं? टिप्पणी अनुभाग नए प्रश्नों या विस्तारित चर्चा के लिए उपयुक्त या अभिप्रेत नहीं है। :-) धन्यवाद।
डेविड फोस्टरस्टर

विंडोज पर @DavidFoerster आप प्रत्येक पेजफाइल के लिए न्यूनतम और अधिकतम आकार निर्धारित कर सकते हैं और विंडोज आवश्यक होने पर पेजफाइल आकार में वृद्धि करेगा। tomshardware.com/news/...
phuclv

जवाबों:


11

ऐसा नहीं लगता है कि लिनक्स डायनामिक स्वैप फ़ाइल साइज़िंग का समर्थन करता है (किसी भी दर पर, मैं यह पता लगाने के लिए नहीं मिल सकता था कि स्वैप फाइल बिना swapoff/ के आकार में बदल गई थी swapon)।

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

इस पैराग्राफ को swaponमैनपेज से भी नोट करें :

The  swap file implementation in the kernel expects to be able to write
to the file directly, without the assistance of the  filesystem.   This
is  a problem on preallocated files (e.g.  fallocate(1)) on filesystems
like XFS or ext4, and on copy-on-write filesystems like btrfs.

मुझे लगता है कि एक ही समस्या एक डायनामिक-आकार की स्वैप फ़ाइल पर लागू होगी।


ऐसा लगता है कि यह सच है, और स्वैपस्पेस भी गतिशील रूप से स्वैप का आकार नहीं बदलता है।
टॉम मर्सर

2

स्वेपस्पेस एक उपयोगिता है जो आपको गतिशील रूप से स्वैप करने की अनुमति देगा यदि आप जो खोज रहे हैं वह है। मेरा मानना ​​है कि यह उबंटू में उपलब्ध है।


जबकि 2 साल पहले इसकी नई रिलीज़ हुई थी , उबंटू के लिए पैक किए गए संस्करण सभी प्राचीन प्रतीत होते हैं। यह कितनी अच्छी तरह काम करता है?
मूरू

मैं कल्पना नहीं कर सकता कि स्वैप फाइल लिखने के लिए इस्तेमाल किया गया तरीका बदल गया है, लेकिन मैं निश्चित रूप से नहीं कह सकता। डेबियन पर ठीक काम करता है।
user231695

मैं अभी भी आपके जवाब को वोट देता हूं क्योंकि यह नई जगह बनाने के लिए सरल है।
user231695

मैं इसे आजमाऊंगा, और वापस रिपोर्ट करूंगा।
टॉम मर्सर

@ user231695 जबकि यह एक नया स्वैप स्पेस बनाने के लिए सरल है, यह भयावह रूप से असुविधाजनक है, और संभवतः एक समाधान के रूप में पूरी तरह से अस्थिर है। उपयोगकर्ता जिस समय नया स्वैप स्थान जोड़ना चाहता है, केवल वही क्षण होता है जब मौजूदा स्वैप पूर्ण होता है। इसलिए स्वैप फ़ाइल के डायनामिक आकार के लिए मेरा प्रश्न।
टॉम मर्सर

1

मुझे पता है कि यह देर हो चुकी है, लेकिन मुझे लगता है कि गतिशील स्वैप के लिए सबसे अच्छा समाधान है:

sudo apt install dphys-swapfile
sudo update-rc.d dphys-swapfile enable

तब और अंत CONF_SWAPFACTOR=2में सेटिंग/etc/dphys-swapfile

sudo service dphys-swapfile start

यह स्वैप को गतिशील रूप से आकार देने के लिए प्रकट नहीं होता है। 2x आकार की क्षमता के लिए डिफॉल्ट करने वाले कुछ निश्चित आकार के स्वैप को आरंभ करने के लिए एक स्क्रिप्ट की तरह दिखता है।
टॉम मर्सर

हाय @TomMercer स्वेपफैक्टर और मैक्सस्वैप की सेटिंग करता है, फ़ाइल में टिप्पणियों के अनुसार: "# साइज़ को परिकलित मान, इस बार RAM आकार, डायनामिक रूप से एडाप्ट करता है, यह सुनिश्चित करता है कि अतिरिक्त जगह पर डिस्क स्पेस को बर्बाद किए बिना पर्याप्त स्वैप है"। "डायनामिकली अडाप्ट्स" लगता है कि आप क्या देख रहे हैं। बेस्ट
डेनिस पिट्ज़ालिस

जब मैं ओएस का उपयोग कर रहा हूं और रैम भर रहा हूं, क्या यह मेरे स्वैपफाइल के आकार में भिन्न है, कहते हैं, 1KB और 16GB? यही "डायनामिकली रिसाइज़िंग" स्वैप का मतलब है। एक स्वैफाइल बनाना जो कई प्रकार का RAM आकार है, गतिशील नहीं है। जब तक RAM भर न जाए, तब तक स्वैपफाइल होने का कोई मतलब नहीं है, और फिर आप चाहते हैं कि स्वैप का आकार आपके द्वारा उपयोग किए जा रहे वीआरएएम के आकार का हो। यदि आप उस टैब या विशाल छवि को बंद कर रहे हैं, जिस पर आप काम कर रहे हैं, तो स्वैपफाइल को गतिशील रूप से वापस नीचे आकार देना चाहिए। स्वैफाइल को हमेशा गतिशील रूप से खुद को आकार देते हुए 100% पूर्ण होना चाहिए।
टॉम मर्सर

0

swaponकमांड का उपयोग करके रनिंग सिस्टम में स्वैप स्पेस को जोड़ा जा सकता है । इसके लिए एक मौजूदा (अप्रयुक्त) स्वैपफ़िल / विभाजन की आवश्यकता है। एक बनाने के लिए, ddएक सन्निहित फ़ाइल को आवंटित करने के लिए कमांड का उपयोग करें , और फिर mkswapफ़ाइल / विभाजन में सही नियंत्रण जानकारी जोड़ने के लिए।

एक स्वैपफिल हटाने के लिए, उपयोग करें swapoff; फ़ाइल को तब हटाया जा सकता है।

मुझे संदेह है SwapSpaceकि @232395 ने जो उल्लेख किया है वह क्या है।

ध्यान दें कि यदि स्वैपफाइल उपयोग में है, तो स्वैपऑफ़ एक धीमा ऑपरेशन हो सकता है; सभी डेटा को दूसरे स्वैप क्षेत्र में स्थानांतरित करना होगा।

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