swapon का कोई प्रभाव नहीं है, / proc / swaps खाली रहता है


10

मेरे उबंटू सर्वर में 512 एमबी से अधिक मेमोरी नहीं है। यह Node.js + MongoDB चलाने के लिए पर्याप्त नहीं है।

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

# dd if=/dev/zero of=/root/myswapfile bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 4.69263 s, 229 MB/s
# mkswap /root/myswapfile
Setting up swapspace version 1, size = 1048572 KiB
no label, UUID=3c64da32-d0b4-49e5-92db-fba961b8ae28
# swapon /root/myswapfile

कोई त्रुटि संदेश नहीं => सफल!

नई स्वैप फ़ाइल अब सूचीबद्ध होनी चाहिए, लेकिन यह नहीं है :

# swapon -s
Filename                Type        Size    Used    Priority

(खाली सूची)

मैं इसे कैसे कारगर बना सकता हूं? लापता स्वैप का कारण क्या हो सकता है?


1
विभाजन की जड़ में स्वैप फ़ाइल को रूट करने का प्रयास करें/
2707974

1
जब मैंने पहली बार इसे आज़माया, तो मैंने इसे / swapfile के
आज़माया

2
chmod 600 /root/myswapfileफिर से परिवर्तन swapon /root/myswapfile
परमिट

1
इससे मदद नहीं मिली ... दिलचस्प सूचना: मुझे स्वैप करने से पहले स्वैप करने की आवश्यकता है, भले ही स्वैप सूची में कभी भी प्रकट न हो।
user22611

3
क्या freeकोई स्वैप उपयोग दिखाता है?
MDD

जवाबों:


4

सबसे पहले, अपने मूल स्वैप को मिटाएँ:

sudo rm /myswapfile

अगला, निम्नलिखित कमांड एक-एक करके चलाएं:

sudo fallocate -l 1G /swapfile
sudo chmod 600 /swapfile
ls -lh /swapfile

आउटपुट निम्न के समान होना चाहिए:

-rw------- 1 root root 1.0G Aug  3 18:20 /swapfile

अब, निम्नलिखित कमांड चलाएँ:

sudo mkswap /swapfile
sudo swapon /swapfile
sudo swapon -s

अब, परिवर्तनों को स्थायी बनाने के लिए / etc / fstab संपादित करें:

sudo nano /etc/fstab

और फ़ाइल के अंत में निम्नलिखित पंक्ति जोड़ें:

/swapfile    none            swap    sw              0       0

फाइल को बचाने के लिए CTRL+ दबाएँ oऔर फिर दबाएँ ENTER

नैनो से बाहर निकलने के लिए CTRL+ दबाएँ x

स्रोत: https://www.digitalocean.com/community/tutorials/how-to-add-swap-on-nuntu-14-04


यदि वह अभी भी काम नहीं करता है, तो आप स्वैप्पीपन की जांच करना चाहते हैं:

cat /proc/sys/vm/swappiness

इस कमांड को एक नंबर वापस करना चाहिए। डिफ़ॉल्ट 60 होना चाहिए।

यदि कोई आउटपुट नहीं है, तो निम्न कमांड एक-एक करके चलाएं:

sudo sysctl vm.swappiness=60
echo "vm.swappiness = 60" | tee -a /etc/sysctl.conf

के बाद -a महत्वपूर्ण हैtee या आप पूरी फाइल को अधिलेखित कर देंगे !!!


1

fdiskस्वैप बनाने के लिए उपयोग करें । एक नया विभाजन जोड़ें, लिनक्स स्वैप का चयन करें, परिवर्तन लिखें। mkswap /dev/sd? आपको इसे अपने साथ जोड़ने की आवश्यकता है /etc/fstab/। XXX को स्वैप UUID में बदलें।

UUID=XXX none            swap    sw              0       0

swapon -aसे उपलब्ध करने के लिए चलाएँ /etc/fstab


1

आप स्वैप फ़ाइल 600 अधिकारों के साथ / स्वैप में होना चाहिए।

#moving file and changing rights
sudo mv /root/myswapfile /myswapfile
sudo chmod 600 /myswapfile

sudo mkswap /myswapfile

स्वैप फ़ाइल जोड़ें। मुझे लगता है कि आप इस आदेश को भूल गए हैं

sudo swapon /myswapfile
#check swap is working
sudo swapon -s

1
Chmod कमांड होना आवश्यक है sudo chmod 600...। यह भी सार्थक हो सकता है इसे जड़ के स्वामित्व में sudo chown root:root ...:।
विल्फ

1
यदि आप @ user22611 उपयोग के मुख्य पोस्ट देखते हैं कि वह रूट के रूप में काम करता है।
UNIm95

1
makeswapmkswap
user22611

1
@ user22611 हाँ। तुम सही हो। mkswap और chmod।
UNIm95

1
@ UNIm95 - आप इन मुद्दों को ठीक करने के लिए अपनी पोस्ट को संपादित कर सकते हैं ....
Wilf

-1

आप ऐसा कर सकते हैं:

sudo umount -a
gedit /etc/fstab

और लिखिए कि स्वैप कहां है:

/proc/swap     proc   default  errors=noremount     1

और फिर यह:

sudo mount -a

और फिर गैप चलाएं और स्वैप ड्राइव को स्वैप के रूप में सेट करें, और इसे रूट देव ड्राइव पर माउंट करें, और यह इस तरह से ठीक काम कर सकता है।


4
त्रुटि ... हर बार sudo umount -aअनमाउंट नहीं करता है ? (जो उपयोग में होने पर सामान को तोड़ सकता है) यदि आप मौजूदा स्वैप चीजों को अनमाउंट करने की कोशिश कर रहे हैं तो पहले उन्हें ढूंढना बेहतर होगा mountऔर फिर उन्हें विशेष रूप से अनमाउंट करें या उपयोग करें sudo swapoff -a
विल्फ

1
यह वही है जो मैंने आपके द्वारा किए गए किसी भी कदम को नहीं तोड़ा है, और यह केवल एक चीज है।
माइकल

2
रनिंग umount -aवास्तव में एक गूंगा विचार है। आपको जो कुछ भी नहीं करना चाहिए, उसे अनमाउंट करें।
pzkpfw
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.