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

So beheben Sie Dateisystemfehler in Linux mit „fsck“

Vorwort Das Dateisystem ist für die Organisation ...

Vuex implementiert einen einfachen Einkaufswagen

In diesem Artikelbeispiel wird der spezifische Co...

HTML-Tags: Sub-Tag und Sup-Tag

Heute stelle ich zwei HTML-Tags vor, die ich nich...

Perfekte Lösung für asynchrone Timeout-Vorgänge im JavaScript-Frontend

Inhaltsverzeichnis Was passiert, wenn die Ausführ...

So implementieren Sie die Vervollständigung leerer Zellen in HTML-Tabellen

Als ich mir selbst die Webentwicklung beibrachte,...

Detaillierte Erläuterung der MySQL-Transaktionsisolationsebene und des MVCC

Inhaltsverzeichnis Transaktionsisolationsebene Be...

Was ist Nginx-Lastausgleich und wie wird er konfiguriert?

Was ist Lastenausgleich? Der Lastausgleich wird h...

Detaillierte Erläuterung der Anwendungsszenarien von Filtern in Vue

filter werden im Allgemeinen verwendet, um bestim...