swapon tidak berpengaruh, / proc / swaps tetap kosong

10

Server Ubuntu saya memiliki memori tidak lebih dari 512 MB. Tidak cukup untuk menjalankan Node.js + MongoDB.

Karenanya saya memutuskan untuk menambahkan file swap:

# 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

Tidak ada pesan kesalahan => berhasil!

File swap baru sekarang harus terdaftar, tetapi tidak :

# swapon -s
Filename                Type        Size    Used    Priority

(daftar kosong)

Bagaimana saya bisa membuatnya bekerja? Apa yang mungkin menjadi alasan untuk swap yang hilang?

pengguna22611
sumber
1
Cobalah untuk memindahkan file swap ke root partisi alias/
2707974
1
Ketika saya pertama kali mencobanya, saya mencobanya dengan / swapfile
user22611
2
Ubah chmod 600 /root/myswapfileswapon /root/myswapfile
izin
1
Itu tidak membantu ... Pemberitahuan menarik: Saya perlu swapoff sebelum saya swapon, meskipun swap tidak pernah muncul dalam daftar.
user22611
3
apakah freeada yang menunjukkan penggunaan swap?
mdd

Jawaban:

4

Pertama, hapus swapfile asli Anda:

sudo rm /myswapfile

Selanjutnya, jalankan perintah berikut satu per satu:

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

Outputnya harus serupa dengan yang berikut:

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

Sekarang, jalankan perintah berikut:

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

Sekarang, edit /etc/ststab untuk membuat perubahan permanen:

sudo nano /etc/fstab

dan tambahkan baris berikut ke akhir file:

/swapfile    none            swap    sw              0       0

Tekan CTRL+ olalu tekan ENTERuntuk menyimpan file.

Tekan CTRL+ xuntuk keluar dari nano.

sumber: https://www.digitalocean.com/community/tutorials/how-to-add-swap-on-ubuntu-14-04


Jika itu masih tidak berhasil, Anda mungkin ingin memeriksa swappiness:

cat /proc/sys/vm/swappiness

Perintah ini harus mengembalikan nomor. Standarnya harus 60.

Jika tidak ada output, jalankan perintah berikut satu per satu:

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

The -a penting setelah teeatau Anda akan menimpa seluruh file !!!

mchid
sumber
1

Gunakan fdiskuntuk membuat swap. Tambahkan partisi baru, pilih Linux swap, tulis perubahannya. mkswap /dev/sd? Anda perlu menambahkannya ke /etc/fstab/. Ubah XXX ke swap UUID.

UUID=XXX none            swap    sw              0       0

Jalankan swapon -auntuk membuatnya tersedia dari /etc/fstab.

nicoX
sumber
1

File swap Anda harus di / swapfile dengan 600 hak.

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

sudo mkswap /myswapfile

tambahkan file swap. Saya pikir Anda lupa perintah ini

sudo swapon /myswapfile
#check swap is working
sudo swapon -s
UNIm95
sumber
1
Perintah chmod harus sudo chmod 600.... Hal ini juga mungkin bermanfaat pembuatan itu dimiliki oleh root: sudo chown root:root ....
Wilf
1
Jika Anda melihat posting utama dari @ user22611 gunakan lihat bahwa ia berfungsi sebagai root.
UNIm95
1
makeswapmkswap
user22611
1
@ user22611 ya. Kamu benar. mkswap dan chmod.
UNIm95
1
@ UNIm95 - Anda dapat mengedit pos Anda untuk memperbaiki masalah ini ....
Wilf
-1

Anda bisa melakukan ini:

sudo umount -a
gedit /etc/fstab

dan tulis di mana swap adalah ini:

/proc/swap     proc   default  errors=noremount     1

dan kemudian ini:

sudo mount -a

dan kemudian jalankan gpart dan atur drive swap sebagai swap, dan pasang di drive root dev, dan itu mungkin berfungsi dengan baik dengan cara ini.

Michael
sumber
4
Err ... tidak sudo umount -ameng - unmount SEMUA? (yang dapat merusak barang jika sedang digunakan) Jika Anda mencoba untuk meng-unmount hal-hal swap yang ada terlebih dahulu mungkin lebih baik untuk menemukannya mountdan kemudian meng-unmountnya secara khusus, atau gunakan sudo swapoff -a.
Wilf
1
itu adalah apa yang saya lakukan tidak dapat merusak apa pun yang Anda buat, dan itu adalah satu-satunya hal yang harus dilakukan.
Michael
2
Berlari umount -amemang ide yang sangat bodoh. Lepas dari apa yang harus dilepas, bukan segalanya.
pzkpfw