स्वैप आकार कैसे बढ़ाएं?


17

हाल ही में, मैंने अपने सर्वर में अधिक रैम डाला और अब मुझे कुल 24GB RAM मिल गई है। मूल रूप से, मैंने 2GB स्वैप आकार के लिए OS सेटअप किया है।

/dev/sdc1               1         281     2257101   82  Linux swap / Solaris
/dev/sdc2   *         282       60801   486126900   83  Linux

2 जीबी वर्तमान में स्वैप के लिए आवंटित किया गया है, लेकिन इसके चारों ओर पढ़ने से ऐसा लगता है कि यह ज्यादा नहीं है। 24GB वाले सिस्टम के लिए, मैं कम से कम 10GB स्वैप आवंटित करने के बारे में सोच रहा हूं।

मेरे सवाल हैं: क्या मैं इसे कर सकता हूं जबकि ओएस चल रहा है? क्या मुझे पुन: स्थापित करना है? मैं OpenSuse 11.3 का उपयोग कर रहा हूं

जवाबों:


23

आपने स्थापना पर एक अलग स्वैप विभाजन बनाने का निर्णय लिया। आप इसे ऑनलाइन आकार नहीं दे सकते हैं - यहां तक ​​कि एक ऑफ़लाइन आकार भी काफी समय लेने वाला है और आपके बाद के फाइल सिस्टम को / dev / sdc2 पर नुकसान पहुंचाने के संभावित जोखिम को सहन करने वाला है।

इसके आस-पास काम करने का सबसे आसान विकल्प या तो एक अलग डिस्क पर एक नया स्वैप विभाजन बनाना है जिसे आप वर्तमान में उपयोग नहीं करते हैं (या फिर से विभाजन के लिए ऑफ़लाइन खर्च कर सकते हैं) या बस एक मौजूदा फाइल सिस्टम के भीतर एक स्वैप फ़ाइल का उपयोग करें (जिसके साथ आता है) फाइलसिस्टम ओवरहेड के कारण कुछ मामूली प्रदर्शन जुर्माना )।

एक स्वैप विभाजन / फ़ाइल जोड़ने की सामान्य प्रक्रिया:

  • या तो 82h का एक नया विभाजन बनाएँ या एक नया 8 GB फ़ाइल का उपयोग करें dd if=/dev/zero of=/swapfile bs=1M count=8192
  • इसका उपयोग करके इसे आरंभ करें mkswap /swapfileयाmkswap /dev/sdXX
  • अपने नए स्वैप स्पेस को ऑन-द-फ्लाई में सक्षम करने के लिए उपयोग करें swapon /swapfileयाswapon /dev/sdXX क्रमशः
  • सुनिश्चित करने के लिए / etc / fstab में एक प्रविष्टि जोड़ें कि आपका नया स्वैप स्थान रिबूट पर सक्रिय हो जाए

आपका वर्तमान स्वैप विभाजन उपयोग में बना हुआ है, आप जटिलता कम करने के लिए इससे छुटकारा पाना चाहते हैं। बस का उपयोग swapoff /dev/sdc1पल के लिए इसके उपयोग को अक्षम करने के लिए और में संदर्भ निकालें/etc/fstab


@ सिंटिकॉन-डीजे धन्यवाद। डिस्क पर डेटा जहां स्वैप महत्वपूर्ण है, और मेरे पास एक और डिस्क है जिसका मैं उपयोग कर सकता हूं। क्या आपको लगता है कि स्वैप को अलग डिस्क पर सेट करने से प्रदर्शन प्रभावित होगा? क्या मुझे / dev / sdc1 को स्वैप करना होगा?
x-man

यह एक तरह से या दूसरे को प्रभावित करेगा - अगर / dev / sdc2 बहुत उपयोग देख रहा है, तो यह I / O स्वैप I / O के साथ प्रतिस्पर्धा करता है। यदि आप स्वैप के रूप में एक और डिस्क के विभाजन को जोड़ते हैं, तो आप बस इस डिस्क में स्वैप I / O लोड जोड़ते हैं। स्वैप प्रदर्शन के लिए क्या फायदेमंद होने वाला है, प्रभावित डिस्क पर आपके अन्य I / O के लिए अनिवार्य रूप से हानिकारक है। कहा जा रहा है, आपके सिस्टम के प्रदर्शन के लिए उतने बुरे नहीं हैं, जितनी अधिक संख्या में पेजआउट / पेजिन अनुरोध। यदि आप इसे देखते हैं, तो इसे मेमोरी जोड़कर या अपने सिस्टम की मेमोरी फ़ुटप्रिंट को कम करके ठीक करें।
वाबेट

अलग-अलग स्पिंडल पर दो स्वैप डिवाइस होने से आपके स्वैप प्रदर्शन में मदद मिलेगी (क्योंकि दो डिस्क हैं जिन्हें एक साथ पढ़ने और लिखने के लिए केवल एक के बजाय संबोधित किया जा सकता है)। लेकिन जैसा कि आपको किसी भी तरह की अदला-बदली के कारण उच्च I / O गतिविधि नहीं दिखनी चाहिए, आप प्रशासन को आसान बनाने के लिए सिर्फ एक उपकरण / विभाजन / फ़ाइल का उपयोग करना पसंद कर सकते हैं
wabbit

1
ध्यान दें कि यदि आप BtrFS पर हैं तो एक स्वैपफोन काम नहीं करेगा। दो वर्क-अराउंड हैं (1) एक लूपबैक डिवाइस बनाते हैं या (2) btrfs-swapon का उपयोग करते हैं
डेगॉन

@-wabbit /etc/fstabरिबूट पर नया स्वैप सक्रिय होने के बारे में सुनिश्चित करने के लिए वास्तव में प्रविष्टि कैसे बनाई जाती है?
17

3

क्या आपको इस मामले में स्वैप की आवश्यकता होगी? मुझे नहीं पता कि आपके पास आपके सिस्टम सिस्टम पर क्या चल रहा है, लेकिन मैं पूरी तरह से स्वैप से बचने के लिए अपने सर्वर में पर्याप्त मेमोरी रखने की कोशिश करता हूं ... (मेरे पास यह है, लेकिन केवल एक असफल के रूप में, यदि मेरा सर्वर स्वैप करना शुरू कर देता है, तो मैं खरीदता हूं अधिक मेमोरी ...)


मैं यहाँ आपके पक्ष में हूँ, स्वैप का उपयोग मुख्य रूप से (अस्थिर) मेमोरी थकावट के मामले में दुर्घटनाओं को रोकने के लिए किया जाता है और जैसे ही आप प्लैटर को मारना शुरू करते हैं, आपका सर्वर हिट I / O और / या बैंडवाइथ वार ले रहा है, हालाँकि SSDs मदद कर सकता है वे रैम की तुलना में कम से कम 10 गुना धीमा हैं जो आजकल बहुत सस्ता है। DDR3 ECC 1333MHz की कीमतें 64GB (8x8GB) के लिए लगभग 1000 डॉलर है
Shadok

2

आपको डिस्क को फिर से चालू करना होगा। अगर मुझे अच्छी तरह से याद है कि लिनक्स विभाजन की भीख मांगना समर्थित नहीं है, लेकिन आप अपने लिनक्स फाइल सिस्टम और विभाजन को भी छोटा कर सकते हैं और फिर अपनी डिस्क के अंत में एक और स्वैप कर सकते हैं। सिस्टम ऑनलाइन होने के दौरान आप ऐसा नहीं कर सकते।

वैकल्पिक समाधान स्वैप के रूप में एक बड़ी फ़ाइल का उपयोग करना है। (पता नहीं कि क्या यह एक अच्छा विचार है अब)


हर फाइलसिस्टम सिकुड़ा नहीं जा सकता, यहां तक ​​कि ऑफ़लाइन भी। दुर्भाग्य से, यह XFS ( xfs.org/index.php/Shrinking_Support ) जैसे लोकप्रिय विकल्पों को प्रभावित करता है ।
स्वेन

@Stone का अर्थ है OS को पुनः स्थापित करना?
x-man

नहीं। इसका मतलब है कि बैकअप बनाना :), LiveCD को बूट करना, लिनक्स फाइल सिस्टम को सिकोड़ना और फिर sdc2 विभाजन को डिस्क के अंत में एक नया स्वैप करना और आपके सिस्टम को रिबूट करना।
स्टोन

0

1 सभी स्वैप प्रक्रियाओं को बंद करें

sudo swapoff -a

2 स्वैप का आकार बदलें

sudo dd if=/dev/zero of=/swapfile bs=1G count=8

if = input file
of = output file
bs = block size
count = multiplier of blocks

3 फ़ाइल को स्वैप के रूप में प्रयोग करने योग्य बनाएं

sudo mkswap /swapfile

4 स्वैप फ़ाइल को सक्रिय करें

sudo swapon /swapfile

5 उपलब्ध स्वैप की मात्रा की जाँच करें

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