Erhöhen Sie Swap in Ubuntu 18.04 unter Lvm und Encrypted File System


21

Ich habe eine Neuinstallation von Ubuntu 18.04 Desktop durchgeführt.

Ich habe das grafische Installationsprogramm verwendet und "Neue Ubuntu-Installation aus Sicherheitsgründen verschlüsseln" gewählt.

Es wird standardmäßig LVM verwendet und anstelle der Datei eine Partition für den Swap erstellt. Hier ist das sudo swapon -sErgebnis:

eviatan89@leviatan89-K55VD:~$ sudo swapon -s
Filename                Type        Size    Used    Priority
/dev/dm-2                               partition   1003516 999448  -2

Ich muss die Größe erhöhen, da ich viele Probleme habe, denen der Arbeitsspeicher ausgeht.

Aus Neugier kommen Probleme auf, wenn Sie Cassandra und Firefox mit mehreren offenen Registerkarten (einschließlich YouTube) verwenden. Mein System hat 6 GB RAM.

Vielen dank für Deine Hilfe!


centos.org/docs/5/html/5.1/Deployment_Guide/… arbeitete für mich (18.04 vollständige Festplattenverschlüsselung)
Olejorgenb

1
Ich frage mich, ob wir die Partition nur vergrößern können. LVM sollte es einfach machen, oder? Hat es jemand ausprobiert? Konnte mit dieser Option keine Antwort finden.
AlikElzin-kilaka,

Ich habe versucht, die Größe der Partition mithilfe der Festplatten-App zu ändern, aber die Option war nicht verfügbar. Nicht einmal nachdem ich es "gestoppt" habe. Ich habe auch versucht, von einem USB-Stick zu booten, der nichts auf der Festplatte bereitstellt, aber die Größenänderungsoption war für keine der LVM-Partitionen verfügbar. Könnte dies daran liegen, dass die "Haupt" -Partition gesperrt ist? Nach dem Entsperren war die Option immer noch nicht verfügbar.
AlikElzin-kilaka

@ AlikElzin-kilaka: ja, du musst verwenden,kpvm um die swapLautstärke zu ändern , und in der Tat ist es sehr einfach.
Dan Dascalescu

@DanDascalescu logisches Volume erweitern ... ist für meine deaktiviert swap_1Partition ist so logisches Volume verkleinern ... für root. Was ist zu tun?
Bojan P. vor

Antworten:


28

Die einfachste Lösung wäre das Hinzufügen einer Auslagerungsdatei. Wenn Sie Ihr Root-Dateisystem bereits verschlüsseln, würde ich mich nicht um eine verschlüsselte Auslagerungsdatei kümmern, die nur etwas schwieriger, aber langsamer ist. Der Vorteil einer Auslagerungsdatei besteht darin, dass Sie sie später entfernen können, um Speicherplatz freizugeben. Und die Festplatte ist bereits verschlüsselt!

Die Schritte sind einfach. Zuerst machen Sie die Datei. Dies würde zum Beispiel 1 GB neuen Swap ergeben:

sudo dd if=/dev/zero of=/swapfile bs=1024 count=1024k

Der of=/swapfileBefehl ddzum Einfügen der neuen Auslagerungsdatei /swapfile. Sie können es so nennen, wie Sie wollen. Sie können auch mehrere Auslagerungsdateien hinzufügen. Für neuere Linux-Kernel entspricht die Geschwindigkeit einer Swap-Partition.

Dann müssen Sie die Auslagerungsdatei wie folgt als Auslagerungsspeicher formatieren:

sudo mkswap /swapfile

Dieser Befehl gibt Ihnen eine Ausgabe wie:

Setting up swapspace version 1, size = 1048576 KiB

no label, UUID=83352590-ef57-49f5-84c4-7fb847e4e4e0

Und das ist Ihre neue Auslagerungsdatei. Schließlich müssen Sie den Swap auf Ihrem Computer mit dem folgenden Befehl aktivieren:

sudo swapon /swapfile

Nun sudo swapon -ssollten Sie sowohl die Swap-Partition als auch die Swap-Datei anzeigen.

Ich empfehle dann, etwas Sicherheit hinzuzufügen, indem ich die Berechtigungen wie folgt ändere:

sudo chown root:root /swapfile
sudo chmod 0600 /swapfile

Wenn bisher alles in Ordnung zu sein scheint, können Sie die Auslagerungsdatei dauerhaft hinzufügen, /etc/fstabindem Sie die folgende Zeile zur Verwendung Ihres bevorzugten Editors hinzufügen :

/swapfile       none    swap    sw      0       0

Sie können natürlich mehrere Auslagerungsdateien hinzufügen. Und Sie können die Auslagerungsdatei mit entfernen sudo swapoff /swapfile.

Hoffe das hilft.


2
Vielen Dank! Es funktionierte. Dies ist der Befehl dd, den ich zum Hinzufügen einer 4G-Auslagerungsdatei verwendet habe: sudo dd if = / dev / zero von = / swapfile bs = 1024 count = 4096k
leviatan89

Warum ist es 1024k? Meiner Intuition nach war das 1 Megabyte, kein Gig.
Grofte

3
Der Blockgrößenparameter 'bs' wird in Bytes angegeben. Eine Anzahl von 1024.000 oder 1 Million Blöcken zu je 1 KB entspricht also 1 GB.
Martin W

Da das OP LVM verwendet, ist es noch einfacher, die Größe des swapVolumes mithilfe von zu ändernkpvm .
Dan Dascalescu

3

Zur Top-Antwort hinzufügen . Da habe ich den Ruf nicht zu kommentieren. Entschuldigung.

Für den Fall, dass Sie versuchen, den Swap-Bereich zu vergrößern, und bereits Swap-Bereiche zugewiesen wurden.

Warnung : Schließen Sie Anwendungen, die Swap Space verwenden.

Tun Sie dies zuerst, sonst erhalten Sie eine Fehlermeldung :

sudo swapoff -a

Und dann wie oben beschrieben vorgehen.

Durch den obigen Vorgang wird auch der vorherige Swap-Bereich gelöscht. Wenn Sie also 2 GB Swap haben und weitere 6 GB möchten, müssen Sie neue 9 GB Swap-Bereich zuweisen. Oder benennen Sie die Auslagerungsdatei mit einem anderen Namen als die anderen Auslagerungsdateien.

sudo dd if=/dev/zero of=/swapfile2 bs=1024 count=6144k

Error:

~ $sudo dd if=/dev/zero of=/swapfile bs=1024 count=6144k                     
dd: failed to open '/swapfile': Text file busy

HINWEIS: Dies ist eine vorgeschlagene Erweiterung der Antwort von @Martin W


Mit LVM benötigen Sie keine Auslagerungsdatei. Sie können sehr leicht die Größe ändern swapLautstärke mit kpvm.
Dan Dascalescu

1

Beachten Sie, dass bei einer Installation mit LVM möglicherweise bereits ein Swap-Volume vorhanden ist. Überprüfen Sie mit kvpm. Ist dies nicht der Fall, führen Sie die folgenden Schritte aus, um eine neue 4-GB-Auslagerungsdatei zu erstellen. Schließen Sie zuerst alle Anwendungen mit Swap Space (oder starten Sie den Computer neu). Dann:

sudo swapoff -a                                    # Turn off all swap space.
sudo rm /swapfile                                  # Delete current swap file.
sudo dd if=/dev/zero of=/swapfile bs=1G count=4    # Make a new 4GB swap file.
sudo chown root:root /swapfile                     # Set owner to root, group root
sudo chmod 0600 /swapfile                          # Set permission to root
sudo mkswap /swapfile                              # Convert file to swap format
sudo swapon /swapfile                              # Enable swap space

Führen Sie einen htopoder einen anderen Systemmonitor aus, um zu überprüfen, ob der neue Swap wirksam ist. Wenn alles gut aussieht, machen Sie die Auslagerungsdatei dauerhaft, indem Sie die folgende Zeile hinzufügen /etc/fstab:

/swapfile       none    swap    sw      0       0

Wenn ich 12 GB Swap benötige, muss ich nur count = 12288 ändern, oder?
user_6396

1
In der Tat4096*3=12288
Alexis Paques

Mit LVM benötigen Sie keine Auslagerungsdatei. LVM macht es einfach, die Größe ändern swapLautstärke mit kpvm.
Dan Dascalescu

0

Es wird standardmäßig LVM verwendet und anstelle der Datei eine Partition für den Swap erstellt.

Das ist eigentlich keine Partition; Es handelt sich vielmehr um ein LVM- Volume ( Logical Volume Management ). Sie können LVM-Volumes anzeigen, indem Sie Folgendes verwenden kvpm:

kpvm-Screenshot mit Swap-Volume

Die richtige Antwort auf Ihre Frage lautet daher nicht, ein anderes Auslagerungsziel (eine Auslagerungsdatei) zu erstellen, sondern die Größe des Auslagerungsvolumens zu ändern, indem kvpmSie mit der rechten Maustaste auf das swapVolume klicken und auswählen Extend logical volume.

Wenn diese Option nicht verfügbar ist, müssen Sie möglicherweise zuerst die Größe eines anderen Volumes reduzieren.


Funktioniert es unter zfsUbuntu 19.10?
AlikElzin-kilaka

1
Extend logischen Datenträger ... ist für meine deaktiviert swap_1Partition, so ist Reduce logische Volumen ... für root. Was ist zu tun?
Bojan P. vor

-1

Wenn Sie Minze 19.X ausführen, sind hier einige kurze Schritte:

sudo dd if=/dev/zero of=/swapfile bs=1024 count=10240k # make 10G swapfile
sudo chown root:root /swapfile
sudo chmod 0600 /swapfile
sudo mkswap /swapfile

bearbeiten /etc/fstab

Zeile auskommentieren: /dev/mapper/mint--vg-swap_1 none swap sw 0 0

Zeile hinzufügen: /swapfile none swap sw 0 0

Starten Sie dann neu.

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.