swapon hat keine Auswirkung, / proc / swaps bleibt leer


10

Mein Ubuntu-Server hat nicht mehr als 512 MB Speicher. Es reicht nicht aus, Node.js + MongoDB auszuführen.

Daher habe ich beschlossen, eine Auslagerungsdatei hinzuzufügen:

# 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

Keine Fehlermeldung => erfolgreich!

Die neue Auslagerungsdatei sollte jetzt aufgelistet sein, ist aber nicht :

# swapon -s
Filename                Type        Size    Used    Priority

(leere Liste)

Wie kann ich es zum Laufen bringen? Was könnte der Grund für den fehlenden Tausch sein?


1
Versuchen Sie, die Auslagerungsdatei in das Stammverzeichnis der Partition zu verschieben, auch bekannt als/
2707974

1
Als ich es zum ersten Mal versuchte, versuchte ich es mit /
swapfile

2
Ändern Sie die Berechtigung chmod 600 /root/myswapfiledann noch einmalswapon /root/myswapfile
2707974

1
Das hat nicht geholfen ... Interessanter Hinweis: Ich muss tauschen, bevor ich tausche, obwohl der Tausch nie in der Liste erscheint.
user22611

3
nicht freezeigen jede Swap - Nutzung?
mdd

Antworten:


4

Löschen Sie zunächst Ihre ursprüngliche Auslagerungsdatei:

sudo rm /myswapfile

Führen Sie als Nächstes die folgenden Befehle nacheinander aus:

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

Die Ausgabe sollte wie folgt aussehen:

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

Führen Sie nun die folgenden Befehle aus:

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

Bearbeiten Sie nun / etc / fstab, um die Änderungen dauerhaft zu machen:

sudo nano /etc/fstab

und fügen Sie die folgende Zeile am Ende der Datei hinzu:

/swapfile    none            swap    sw              0       0

Drücken Sie CTRL+ ound drücken Sie dann ENTERdie Datei zu speichern.

Drücken Sie CTRL+ x, um Nano zu verlassen.

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


Wenn das immer noch nicht funktioniert, können Sie die Swappiness überprüfen:

cat /proc/sys/vm/swappiness

Dieser Befehl sollte eine Nummer zurückgeben. Der Standardwert sollte 60 sein.

Wenn keine Ausgabe erfolgt, führen Sie die folgenden Befehle nacheinander aus:

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

Das -a ist wichtig nach teeoder du überschreibst die gesamte Datei !!!


1

Verwenden Sie fdiskdiese Option , um einen Swap zu erstellen. Fügen Sie eine neue Partition hinzu, wählen Sie Linux-Swap und schreiben Sie die Änderungen. mkswap /dev/sd? Sie müssen es zu Ihrem hinzufügen /etc/fstab/. Ändern Sie XXX in die Swap-UUID.

UUID=XXX none            swap    sw              0       0

Führen swapon -aSie es aus, um es verfügbar zu machen /etc/fstab.


1

Ihre Auslagerungsdatei sollte sich in / swapfile mit 600 Rechten befinden.

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

sudo mkswap /myswapfile

Swap-Datei hinzufügen. Ich denke du vergisst diesen Befehl

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

1
Der Befehl chmod muss sein sudo chmod 600.... Es kann sich auch lohnen, es im Besitz von root zu machen : sudo chown root:root ....
Wilf

1
Wenn Sie den Hauptbeitrag von @ user22611 sehen, stellen Sie sicher, dass er als root arbeitet.
UNIm95

1
makeswapmkswap
user22611

1
@ user22611 ja. Du hast recht. mkswap und chmod.
UNIm95

1
@ UNIm95 - Sie können Ihren Beitrag bearbeiten , um diese Probleme zu beheben ....
Wilf

-1

Sie könnten dies tun:

sudo umount -a
gedit /etc/fstab

und schreibe ein, wo der Tausch ist:

/proc/swap     proc   default  errors=noremount     1

und dann das:

sudo mount -a

Führen Sie dann gpart aus, legen Sie das Swap-Laufwerk als Swap fest und hängen Sie es auf dem Root-Dev-Laufwerk an. Auf diese Weise funktioniert es möglicherweise einwandfrei.


4
Äh ... nicht sudo umount -aALLES aushängen? (was bei Verwendung zu Problemen führen kann) Wenn Sie versuchen, vorhandene Swap-Elemente zuerst zu entfernen, ist es möglicherweise besser, sie zu finden mountund sie dann speziell zu entfernen oder zu verwenden sudo swapoff -a.
Wilf

1
Es ist das, was ich getan habe, damit nichts von dem, was du gemacht hast, kaputt geht, und es ist das einzige, was zu tun ist.
Michael

2
Laufen umount -aist in der Tat eine wirklich dumme Idee. Entfernen Sie das, was Sie zum Abhängen benötigen, nicht alles.
pzkpfw
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.