swapon non ha alcun effetto, / proc / swaps rimane vuoto


10

Il mio server Ubuntu non ha più di 512 MB di memoria. Non è sufficiente per eseguire Node.js + MongoDB.

Quindi ho deciso di aggiungere un file di scambio:

# 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

Nessun messaggio di errore => riuscito!

Il nuovo file di scambio dovrebbe ora essere elencato, ma non è :

# swapon -s
Filename                Type        Size    Used    Priority

(elenco vuoto)

Come posso farlo funzionare? Quale potrebbe essere la ragione dello scambio mancante?


1
Prova a spostare il file di scambio nella radice della partizione aka/
2707974

1
Quando l'ho provato per la prima volta, l'ho provato con /
swapfile

2
Cambia autorizzazione chmod 600 /root/myswapfileancora una voltaswapon /root/myswapfile
2707974

1
Ciò non ha aiutato ... Avviso interessante: devo scambiare prima di scambiare, anche se lo scambio non appare mai nell'elenco.
user22611

3
non freemostrare qualsiasi utilizzo di swap?
mdd,

Risposte:


4

Innanzitutto, cancella il tuo file di scambio originale:

sudo rm /myswapfile

Quindi, esegui i seguenti comandi uno per uno:

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

L'output dovrebbe essere simile al seguente:

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

Ora, esegui i seguenti comandi:

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

Ora, modifica / etc / fstab per rendere permanenti le modifiche:

sudo nano /etc/fstab

e aggiungi la seguente riga alla fine del file:

/swapfile    none            swap    sw              0       0

Premere CTRL+, oquindi premere ENTERper salvare il file.

Premi CTRL+ xper uscire da nano.

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


Se il problema persiste, potresti voler controllare lo swappiness:

cat /proc/sys/vm/swappiness

Questo comando dovrebbe restituire un numero. L'impostazione predefinita dovrebbe essere 60.

In caso contrario, eseguire i comandi seguenti uno per uno:

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

Il -a è importante dopo teeo si sovrascriverà l'intero file !!!


1

Utilizzare fdiskper creare uno scambio. Aggiungi una nuova partizione, seleziona Linux swap, scrivi le modifiche. mkswap /dev/sd? Devi aggiungerlo al tuo /etc/fstab/. Cambia XXX nell'UUID di scambio.

UUID=XXX none            swap    sw              0       0

Esegui swapon -aper renderlo disponibile da /etc/fstab.


1

Il file di scambio deve essere in / file di scambio con 600 diritti.

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

sudo mkswap /myswapfile

aggiungi file di scambio. Penso che tu abbia dimenticato questo comando

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

1
Il comando chmod deve essere sudo chmod 600.... Può anche essere utile che lo rende di proprietà di root: sudo chown root:root ....
Wilf,

1
Se vedi il post principale di @ user22611 usa vedi che funziona come root.
UNIm95

1
makeswapmkswap
user22611

1
@ user22611 sì. Hai ragione. mkswap e chmod.
UNIm95,

1
@ UNIm95 - puoi modificare il tuo post per risolvere questi problemi ....
Wilf

-1

potresti farlo:

sudo umount -a
gedit /etc/fstab

e scrivi dove è questo swap:

/proc/swap     proc   default  errors=noremount     1

e poi questo:

sudo mount -a

e quindi esegui gpart e imposta l'unità di scambio come swap, e montala sull'unità di sviluppo root, e potrebbe funzionare bene in questo modo.


4
Err ... non sudo umount -asmonta TUTTO? (che potrebbe rompere le cose se in uso) Se stai provando a smontare prima le cose di scambio esistenti, potrebbe essere meglio trovarle mounte poi smontarle in modo specifico, o usare sudo swapoff -a.
Wilf,

1
è ciò che ho fatto, non ho potuto interrompere nulla di ciò che hai fatto, ed è l'unica cosa da fare.
Michael,

2
Correre umount -aè davvero un'idea stupida. Smonta ciò di cui hai bisogno per smontare, non tutto.
pzkpfw,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.