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?


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 !!!


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.


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

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.


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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.