Linux-Swap-Partition (ausführliche Erklärung)

Linux-Swap-Partition (ausführliche Erklärung)

linux

1. Was ist SWAP

$ swapon -s
Dateiname Typ Größe Verwendet Priorität
/swap.img Datei 2097148 0 -2

Funktionell wird die Swap-Partition hauptsächlich dazu verwendet, einen Teil der Daten im Speicher in den Swap-Speicher auszulagern, wenn der Speicher nicht ausreicht, sodass im System aufgrund von Speichermangel kein OOM oder schwerwiegendere Situationen auftreten. Wenn daher die Speichernutzung stark unter Druck steht und die Speicherwiederverwendung ausgelöst wird, kann der Swap-Speicherplatz verwendet werden.

2. Was passt Swappiness an?

Die Datei /proc/sys/vm/swappiness kann zum Anpassen von Swap-bezogenen Parametern verwendet werden. Der Standardwert dieser Datei ist 60 und der mögliche Wertebereich ist 0-100

$ Katze /proc/sys/vm/swappiness
60
$ sysctl -q vm.swappiness
vm.swappiness = 60

$ sysctl vm.swappiness=10
$ sysctl -q vm.swappiness
vm.swappiness = 10

Persistente Vorgänge

$ vim /etc/sysctl.conf
vm.swappiness=10 #Zur letzten Zeile ist ein Neustart erforderlich, damit die Änderungen wirksam werden

Definiert, wie aggressiv der Kernel Swap nutzt:

  • Je höher der Wert, desto aktiver nutzt der Kernel den Swap-Speicher.
  • Je niedriger der Wert, desto geringer die Motivation, Swap zu verwenden.
  • Wenn dieser Wert 0 ist, liegt die Gesamtmenge des von freien und dateibasierten Seiten verwendeten Speichers unter der Höchstmarke.
  • Markierung), findet kein Austausch statt. Wenn Sie den Wert auf 0 setzen, versuchen Sie, durch Leeren des Caches Speicher zurückzugewinnen.
  • Ein Wert von 100 bedeutet, dass bei der Speicherrückgewinnung die Rückgewinnung von Speicher aus dem Cache die gleiche Priorität hat wie das Auslagern. Das heißt, wenn aktuell 100 MB Speicher benötigt werden, besteht eine hohe Wahrscheinlichkeit, dass 50 MB Speicher aus dem Cache gelöscht werden. Anschließend werden 50 MB anonyme Seiten ausgelagert und der wiederhergestellte Speicher der Anwendung zur Verwendung übergeben. Dies hängt aber auch davon ab, ob im Cache Platz ist und ob der Swap 50 m austauschen kann.

file-backed: Dies ist die Größe der oben erwähnten Dateizuordnungsseite.

3. Wann wird der Tauschvorgang durchgeführt?

Es gibt zwei Mechanismen zur Speicherwiederverwendung: kswapd-Zyklusprüfung und direkte Speicherwiederverwendung. Wenn der angeforderte Speicher größer als der verbleibende Speicher ist, wird eine direkte Wiederverwendung ausgelöst. Welche Bedingungen lösen also während der regelmäßigen Prüfung des kswapd-Prozesses ein Recycling aus? Aus konzeptioneller Sicht muss der kswapd-Prozess den Speicher regelmäßig überprüfen und mit der Speicherwiederverwendung beginnen, wenn ein bestimmter Schwellenwert erreicht wird. Dieser sogenannte Schwellenwert kann als aktueller Speichernutzungsdruck verstanden werden. Das heißt, obwohl wir noch Restspeicher haben, sollten wir versuchen, etwas Speicher zurückzugewinnen, wenn der Restspeicher relativ klein ist, d. h. wenn der Speicherdruck hoch ist. Dadurch kann sichergestellt werden, dass das System für plötzliche Speicheranforderungen so viel Speicher wie möglich hat.

Kswapd entscheidet anhand der Speicher-Wasserstandsmarke, ob mit der Speicherwiederherstellung begonnen werden soll. Wenn die Marke einen niedrigen Wert erreicht, wird mit der Wiederherstellung begonnen, bis der verbleibende Speicher einen hohen Wert erreicht.

Zeigen Sie das aktuelle Wasserzeichen des Systemspeichers an
$ cat /proc/zoneinfo

4. Priorität der Swap-Partition

Mit dem Parameter -p können Sie die Priorität des Swap-Speichers festlegen. Je größer der Wert, desto höher die Priorität. Der Zahlenbereich, der angegeben werden kann, reicht von -1 bis 32767.

$ swapoff /dev/sdc1; swapon -p 0 /dev/sdc1
$ swapon -s
Dateiname Typ Größe Verwendet Priorität
/dev/sdc1 Datei 2097148 0 0

$ Katze /proc/swaps
Dateiname Typ Größe Verwendet Priorität
/dev/sdc1 Datei 2097148 0 0

Fügen Sie einen Eintrag in /etc/ fstab ein, damit dieser bei jedem Linux-Neustart wirksam wird:

/dev/sdc1 swap swap pri=0 0 0

5. Swap starten und stoppen

$ swapoff -a Stopp $ swapon -a Start

6. Swap-Speicher erstellen

Auslagerungsdatei erstellen dd if=/dev/sda3 of=./swapfile bs=1M count=1G
mkswap ./Swap-Datei

Auslagerungsdatei aktivieren $ swapon swapfile

$ swapon -s
Dateiname Typ Größe Verwendet Priorität
/swap.img Datei 2097148 3340 0
/mnt/swapfile Datei 6388156 0 -2

Swap-Speicherplatz deaktivieren $ swapoff swapfile
$ swapon -s
Dateiname Typ Größe Verwendet Priorität
/swap.img Datei 2097148 3156 0

Oben finden Sie den detaillierten Inhalt der Linux-Swap-Partition (detaillierte Erklärung). Weitere Informationen zur Linux-Swap-Partition finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM! , ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Detaillierte Erläuterung des Linux-Indexknoten-Inode
  • Linux: Kein Speicherplatz mehr auf Gerät 500 – Fehler aufgrund voller Inodes
  • Details zur Linux-Netzwerkeinrichtung
  • So implementieren Sie mit MyCat die Lese-/Schreibtrennung von MySQL-Master und -Slave unter Linux
  • Versteckter Overhead von Unix/Linux-Forks
  • Informationen zu UDP in Linux
  • C++-Netzwerkprogrammierung unter Linux, Epoll-Technologie und IOCP-Modell unter Windows
  • Wie viele Ports kann ein Linux-Server maximal öffnen?
  • Details zu Linux-Dateideskriptoren, Dateizeigern und Inodes

<<:  Implementierungscode für die nahtlose Verbindung des Div-Bildlaufbands

>>:  Lösen Sie das Matching-Problem in CSS

Artikel empfehlen

Implementierungsbeispiel für Scan-Code-Zahlung im Vue-Projekt (mit Demo)

Inhaltsverzeichnis Nachfragehintergrund Gedankena...

MySQL5.6.31 winx64.zip Installations- und Konfigurationstutorial

#1. Herunterladen # #2. Entpacken Sie die Datei l...

Bootstrap FileInput implementiert Bild-Upload-Funktion

In diesem Artikelbeispiel wird der spezifische Co...

Detaillierte Erklärung der Verwendung von Object.assign() in ES6

Inhaltsverzeichnis 2. Zweck 2.1 Objekten Eigensch...

Funktionen in TypeScript

Inhaltsverzeichnis 1. Funktionsdefinition 1.1 Fun...

js generiert dynamisch Tabellen (Knotenoperationen)

In diesem Artikelbeispiel wird der spezifische Co...

Das WeChat-Applet implementiert eine einfache Taschenrechnerfunktion

WeChat-Applet: Einfacher Rechner. Zu Ihrer Inform...

Fassen Sie die häufigsten Anwendungsprobleme von XHTML-Code zusammen

Im Laufe der Zeit habe ich festgestellt, dass vie...