


Detaillierte Erläuterung der Rolle der Swap-Partition unter Linux
Dieser Artikel stellt hauptsächlich die Rolle der Swap-Partition unter Linux vor und ist der Meinung, dass er einen gewissen Referenzwert hat. Ich hoffe, er kann jedem helfen.
Dieser Artikel untersucht hauptsächlich den zugehörigen Inhalt der Swap-Partition unter Linux. Die spezifische Einführung lautet wie folgt.
Einführung in die Swap-Partition
Eingebettete chinesische Linux-Site-Neuigkeiten, die Swap-Partition des Linux-Systems, also der Swap-Bereich, die Rolle des Swap-Bereichs kann einfach beschrieben werden als: wenn die Wenn der physische Speicher des Systems nicht ausreicht, muss ein Teil des Speicherplatzes im physischen Speicher für die Nutzung durch das aktuell laufende Programm freigegeben werden. Der freigegebene Speicherplatz stammt möglicherweise von einigen Programmen, die längere Zeit nicht ausgeführt wurden. Der freigegebene Speicherplatz wird vorübergehend im Swap-Bereich gespeichert. Wenn diese Programme ausgeführt werden, werden die gespeicherten Daten aus dem Swap-Speicher wiederhergestellt. Auf diese Weise führt das System immer dann einen Swap durch, wenn der physische Speicher nicht ausreicht. Tatsächlich ist die Swap-Anpassung entscheidend für die Leistung von Linux-Servern, insbesondere von Webservern. Durch die Anpassung von Swap können manchmal Engpässe bei der Systemleistung überwunden und Kosten für Systemaktualisierungen eingespart werden.
Wie wir alle wissen, haben moderne Betriebssysteme die Technologie des „virtuellen Speichers“ implementiert, die nicht nur die Einschränkungen des physischen Speichers in Bezug auf die Funktionalität durchbricht, sondern es Programmen auch ermöglicht, größeren Speicherplatz zu manipulieren Der eigentliche physische Speicher ist ein Sicherheitsnetz, das jeden Prozess isoliert, sodass er nicht durch andere Programme beeinträchtigt wird.
Vielleicht stoßen Computerbenutzer häufig auf dieses Phänomen. Wenn Sie beispielsweise ein Windows-System verwenden, können Sie mehrere Programme gleichzeitig ausführen. Wenn Sie zu einem Programm wechseln, das Sie längere Zeit nicht beachtet haben, hören Sie das Piepen der Festplatte. Dies liegt daran, dass der Speicher dieses Programms durch häufig ausgeführte Programme „gestohlen“ und im Swap-Bereich abgelegt wurde. Sobald dieses Programm im Frontend platziert ist, ruft es daher seine Daten aus dem Swap-Bereich ab, legt sie im Speicher ab und läuft dann weiter.
Außerdem werden nicht alle aus dem physischen Speicher ausgelagerten Daten in Swap verschoben (wenn ja, wird Swap überlastet), ein beträchtlicher Teil der Daten wird direkt in das Dateisystem ausgelagert . Beispielsweise öffnen einige Programme einige Dateien und lesen und schreiben Dateien (tatsächlich muss jedes Programm mindestens eine Datei öffnen, bei der es sich um das laufende Programm selbst handelt, wenn der Speicherplatz dieser Programme ausgelagert werden muss). nicht erforderlich Die Daten im Dateiteil werden im Swap-Bereich abgelegt, können aber direkt in der Datei abgelegt werden. Wenn es sich um einen Dateilesevorgang handelt, werden die Speicherdaten direkt freigegeben und müssen nicht ausgelagert werden, da sie beim nächsten Mal direkt aus dem Dateisystem wiederhergestellt werden können, wenn es sich um einen Dateischreibvorgang handelt, nur die geänderten Daten muss zur Wiederherstellung in der Datei gespeichert werden. Die Daten von Objekten, die von malloc und neuen Funktionen generiert werden, sind jedoch unterschiedlich. Sie benötigen Swap-Speicherplatz, da sie keine entsprechenden „Reserve“-Dateien im Dateisystem haben, weshalb sie als „anonyme“ Speicherdaten bezeichnet werden. Zu dieser Art von Daten gehören auch einige Status- und Variablendaten im Stapel. Daher ist Swap Space ein Austauschraum für „anonyme“ Daten.
Durchbrechen des 128M-Swap-Limits
Einige Linux-Installationshandbücher (inländische chinesische Version) enthalten folgende Anweisungen: Der Swap-Speicherplatz darf 128M nicht überschreiten. Warum wird das gesagt? Bevor ich den Ursprung der Zahl „128M“ erkläre, möchte ich zunächst eine Antwort auf die Frage geben: Es gibt derzeit überhaupt kein 128M-Limit! Die aktuelle Grenze liegt bei 2G!
Der Swap-Bereich im Linux-System ist ausgelagert, und die Größe jeder Seite entspricht der Größe der Speicherseite, was den Datenaustausch zwischen dem Swap-Bereich und dem Speicher erleichtert. Als alte Linux-Versionen den Swap-Space implementierten, verwendeten sie die erste Seite des Swap-Space als „Bitmap“ für alle Swap-Space-Seiten. Dies bedeutet, dass jedes Bit auf der ersten Seite einer Seite des Swap-Bereichs entspricht. Wenn dieses Bit 1 ist, bedeutet dies, dass der Swap dieser Seite verfügbar ist. Wenn es 0 ist, bedeutet dies, dass diese Seite ein fehlerhafter Block ist und nicht verwendet werden kann. Auf diese Weise sollte das erste Swap-Mapping-Bit 0 sein, da die erste Swap-Seite eine Mapping-Seite ist. Darüber hinaus werden auch die letzten 10 Mapping-Bits belegt, um die Swap-Version anzuzeigen (die ursprüngliche Version ist Swap_space, die aktuelle Version ist swapspace2). Wenn dann die Größe einer Seite s beträgt, kann diese Swap-Implementierungsmethode insgesamt „8 * (s – 10) – 1“ Swap-Seiten verwalten. Für das i386-System, s=4096, beträgt die Gesamtspeichergröße 133890048. Wenn 1 MB=2^20 Byte berücksichtigt wird, beträgt die Größe genau 128 MB.
Der Zweck der Verwaltung des Swap-Speicherplatzes auf diese Weise besteht darin, fehlerhafte Blöcke im Swap-Speicherplatz zu verhindern. Wenn das System erkennt, dass es fehlerhafte Blöcke in Swap gibt, markiert es 0 auf der entsprechenden Bitmap, was darauf hinweist, dass diese Seite nicht verfügbar ist. Auf diese Weise werden bei Verwendung von Swap keine fehlerhaften Blöcke verwendet und verursachen Fehler im System.
Aktuelle Systemdesigner glauben:
1. Die Qualität der Festplatten ist mittlerweile sehr gut, es gibt nur sehr wenige fehlerhafte Blöcke.
2. Selbst wenn es welche gibt, müssen Sie nur die fehlerhaften Blöcke auflisten und es ist nicht erforderlich, für jede Seite eine Zuordnung zu erstellen.
3. Wenn viele fehlerhafte Blöcke vorhanden sind, sollte diese Festplatte nicht als Swap-Speicherplatz verwendet werden.
Als Ergebnis bricht Linux jetzt die Bitmapping-Methode ab und hebt damit die 128M-Grenze auf. Zugriff direkt per Adresse, beschränkt auf 2G.
Die Auswirkung der Swap-Konfiguration auf die Leistung
Die Zuweisung von zu viel Swap-Speicherplatz verschwendet Speicherplatz, und wenn zu wenig Swap-Speicherplatz vorhanden ist, treten Systemfehler auf.
Wenn der physische Speicher des Systems aufgebraucht ist, läuft das System sehr langsam, aber es kann immer noch laufen, wenn der Swap-Speicherplatz aufgebraucht ist, tritt ein Fehler im System auf. Beispielsweise kann ein Webserver mehrere Dienstprozesse (oder Threads) basierend auf einer unterschiedlichen Anzahl von Anforderungen erzeugen. Wenn der Swap-Speicherplatz aufgebraucht ist, kann der Dienstprozess nicht gestartet werden und es tritt normalerweise die Fehlermeldung „Anwendung hat nicht genügend Speicher“ auf. In schweren Fällen kann es zu einem Deadlock des Serviceprozesses kommen. Daher ist die Zuweisung von Swap-Speicherplatz sehr wichtig.
Im Allgemeinen sollte der Swap-Speicherplatz größer oder gleich der Größe des physischen Speichers sein und die Mindestgröße sollte nicht weniger als 64 MB betragen. Normalerweise sollte die Größe des Swap-Speicherplatzes 2–2,5 betragen mal das physische Gedächtnis. Je nach Anwendungsfall sollte es jedoch unterschiedliche Konfigurationen geben: Handelt es sich um ein kleines Desktop-System, wird nur ein geringerer Swap-Speicherplatz benötigt, während ein großes Serversystem je nach Situation unterschiedlich große Swap-Speicherplätze benötigt. Insbesondere bei Datenbankservern und Webservern steigen mit zunehmender Anzahl der Besuche auch die Anforderungen an den Swap-Speicherplatz. Informationen zu spezifischen Konfigurationen finden Sie in den Anweisungen des jeweiligen Serverprodukts.
Darüber hinaus hat auch die Anzahl der Swap-Partitionen einen großen Einfluss auf die Leistung. Da es sich bei der Swap-Operation um eine Festplatten-E/A-Operation handelt, wird bei mehreren Swap-Bereichen die Zuweisung von Swap-Speicherplatz rotierend für alle Swaps durchgeführt, wodurch die E/A-Last stark ausgeglichen und der Swap-Austausch beschleunigt wird. Wenn nur ein Swap-Bereich vorhanden ist, ist der Swap-Bereich durch alle Swap-Vorgänge sehr ausgelastet, sodass das System die meiste Zeit in einem Wartezustand bleibt, was sehr ineffizient ist. Wenn Sie Tools zur Leistungsüberwachung verwenden, werden Sie feststellen, dass die CPU zu diesem Zeitpunkt nicht sehr ausgelastet ist, das System jedoch langsam ist. Dies zeigt, dass der Engpass bei E/A liegt und das Problem nicht durch Erhöhen der CPU-Geschwindigkeit gelöst werden kann.
Systemleistungsüberwachung
Die Zuweisung von Swap-Speicherplatz ist sicherlich wichtig, aber die Leistungsüberwachung während des Systembetriebs ist noch wertvoller. Mithilfe von Leistungsüberwachungstools können Sie verschiedene Leistungsindikatoren des Systems überprüfen und Systemleistungsengpässe finden. In diesem Artikel werden nur einige Befehle und Verwendungen im Zusammenhang mit Swap unter Solaris vorgestellt.
Am häufigsten wird der Befehl Vmstat verwendet (auf den meisten Unix-Plattformen gibt es solche Befehle). Mit diesem Befehl können die meisten Leistungsindikatoren angezeigt werden. Beispiel:
vmstat 3
procs memory swap io system cpu r b w swpd free buff cache si so bi bo in cs us sy id 0 0 0 0 93880 3304 19372 0 0 10 2 131 10 0 0 99 0 0 0 0 93880 3304 19372 0 0 0 0 109 8 0 0 100 0 0 0 0 93880 3304 19372 0 0 0 0 112 6 0 0 100 …………
Befehlsbeschreibung:
Die Parameter nach vmstat geben das Zeitintervall für die Leistungsindikatorerfassung an. 3 bedeutet, dass alle drei Sekunden erfasst wird. Die erste Datenzeile muss nicht gelesen werden, sie hat keinen Wert. Sie spiegelt nur die durchschnittliche Leistung seit dem Start wider. Ab der zweiten Zeile werden alle drei Sekunden Systemleistungsindikatoren angezeigt. Zu diesen Leistungsindikatoren im Zusammenhang mit Swap gehören die folgenden:
w unter procs
Es zeigt an, dass Speicher und Austausch derzeit freigegeben werden müssen (innerhalb von drei Sekunden). Die Anzahl der ausgehenden Prozesse.
swpd unter Speicher
Gibt die Größe des verwendeten Swap-Speicherplatzes an.
si unter Swap, also
si stellt die aktuelle (innerhalb von drei Sekunden) Gesamtspeichermenge dar, die pro Sekunde zurückausgelagert (Swap-in) wird, in KB. ;so stellt dar die aktuelle (innerhalb von drei Sekunden) Gesamtmenge des pro Sekunde ausgelagerten Speichers (Swap out) in KB.
Je größer die Anzahl der oben genannten Indikatoren ist, desto ausgelasteter ist das System. Die durch diese Indikatoren dargestellte Systemauslastung hängt mit der spezifischen Konfiguration des Systems zusammen. Der Systemadministrator sollte die Werte dieser Indikatoren aufschreiben, wenn das System normal läuft. Wenn ein Problem mit dem System auftritt, vergleichen Sie es, finden Sie das Problem schnell und formulieren Sie Standardindikatorwerte für den normalen Betrieb des Systems zur Leistungsüberwachung.
Darüber hinaus können Sie Swapon-s verwenden, um die aktuelle Nutzung von Swap-Ressourcen einfach zu überprüfen. Zum Beispiel:
swapon -s
Dateiname Typ Größe Verwendete Priorität
/dev/hda9 Partition 361420 0 3
can Seien Sie praktisch. Sie können die Größe der verwendeten und ungenutzten Ressourcen im Swap-Bereich deutlich sehen.
Die Swap-Last sollte unter 30 % gehalten werden, um eine gute Leistung des Systems zu gewährleisten.
Um den Swap-Speicherplatz zu vergrößern, führen Sie die folgenden Schritte aus:
1) Werden Sie Superuser
$su - root
2) Auslagerungsdatei erstellen
dd if=/dev/zero of=swapfile bs=1024 count=65536
Erstellen Sie eine Auslagerungsdatei mit kontinuierlichem Speicherplatz.
3) Auslagerungsdatei aktivieren
/usr/sbin/swapon swapfile
swapfile bezieht sich auf die im vorherigen Schritt erstellte Auslagerungsdatei.
4) Jetzt ist die neu hinzugefügte Swap-Datei wirksam, aber nach dem Neustart des Systems werden die vorherigen Schritte nicht mehr gespeichert. Daher sollten der Dateiname und der Swap-Typ in der Datei /etc/fstab aufgezeichnet werden, z. B.:
/path/swapfile none Swap sw,pri=3 0 0
5) Überprüfen Sie, ob die Swap-Datei mit
/usr/sbin/swapon -s
hinzugefügt wurde, um überschüssigen Swap-Speicherplatz zu löschen.
1) Werden Sie Superuser
2) Verwenden Sie den Swapoff-Befehl, um Swap-Speicherplatz zurückzugewinnen.
#/usr/sbin/swapoff swapfile
3) Bearbeiten Sie die Datei /etc/fstab und entfernen Sie die Entität dieser Swap-Datei.
4) Recyceln Sie diese Datei aus dem Dateisystem.
#rm swapfile
5) Wenn es sich bei diesem Swap-Speicherplatz nicht um eine Datei, sondern um eine Partition handelt, müssen Sie natürlich ein neues Dateisystem erstellen und es dann im ursprünglichen Dateisystem bereitstellen .
Verwandte Empfehlungen:
So verhindern Sie, dass Oracle die Linux-Swap-Partition verwendet
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Rolle der Swap-Partition unter Linux. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Die wichtigsten Unterschiede zwischen CentOS und Ubuntu sind: Ursprung (CentOS stammt von Red Hat, für Unternehmen; Ubuntu stammt aus Debian, für Einzelpersonen), Packungsmanagement (CentOS verwendet yum, konzentriert sich auf Stabilität; Ubuntu verwendet apt, für hohe Aktualisierungsfrequenz), Support Cycle (Centos) (CENTOS bieten 10 Jahre. Tutorials und Dokumente), Verwendungen (CentOS ist auf Server voreingenommen, Ubuntu ist für Server und Desktops geeignet). Weitere Unterschiede sind die Einfachheit der Installation (CentOS ist dünn)

Wie benutze ich Docker Desktop? Docker Desktop ist ein Werkzeug zum Ausführen von Docker -Containern auf lokalen Maschinen. Zu den zu verwendenden Schritten gehören: 1.. Docker Desktop installieren; 2. Start Docker Desktop; 3.. Erstellen Sie das Docker -Bild (mit Dockerfile); 4. Build Docker Image (mit Docker Build); 5. Docker -Container ausführen (mit Docker Run).

CentOS wurde eingestellt, Alternativen umfassen: 1. Rocky Linux (beste Kompatibilität); 2. Almalinux (kompatibel mit CentOS); 3. Ubuntu Server (Konfiguration erforderlich); 4. Red Hat Enterprise Linux (kommerzielle Version, bezahlte Lizenz); 5. Oracle Linux (kompatibel mit CentOS und RHEL). Bei der Migration sind Überlegungen: Kompatibilität, Verfügbarkeit, Unterstützung, Kosten und Unterstützung in der Gemeinde.

CentOS -Installationsschritte: Laden Sie das ISO -Bild herunter und verbrennen Sie bootfähige Medien. Starten und wählen Sie die Installationsquelle; Wählen Sie das Layout der Sprache und Tastatur aus. Konfigurieren Sie das Netzwerk; Partition die Festplatte; Setzen Sie die Systemuhr; Erstellen Sie den Root -Benutzer; Wählen Sie das Softwarepaket aus; Starten Sie die Installation; Starten Sie nach Abschluss der Installation von der Festplatte neu und starten Sie von der Festplatte.

Docker Process Viewing -Methode: 1. Docker Cli -Befehl: Docker PS; 2. SYSTEMD CLI -Befehl: SystemCTL Status Docker; 3.. Docker Compose CLI Command: Docker-Compose PS; 4. Process Explorer (Windows); 5. /proc -Verzeichnis (Linux).

Docker verwendet Linux -Kernel -Funktionen, um eine effiziente und isolierte Anwendungsumgebung zu bieten. Sein Arbeitsprinzip lautet wie folgt: 1. Der Spiegel wird als schreibgeschützte Vorlage verwendet, die alles enthält, was Sie für die Ausführung der Anwendung benötigen. 2. Das Union File System (UnionFS) stapelt mehrere Dateisysteme, speichert nur die Unterschiede, speichert Platz und beschleunigt. 3. Der Daemon verwaltet die Spiegel und Container, und der Kunde verwendet sie für die Interaktion. 4. Namespaces und CGroups implementieren Container -Isolation und Ressourcenbeschränkungen; 5. Mehrere Netzwerkmodi unterstützen die Containerverbindung. Nur wenn Sie diese Kernkonzepte verstehen, können Sie Docker besser nutzen.

VS Code system requirements: Operating system: Windows 10 and above, macOS 10.12 and above, Linux distribution processor: minimum 1.6 GHz, recommended 2.0 GHz and above memory: minimum 512 MB, recommended 4 GB and above storage space: minimum 250 MB, recommended 1 GB and above other requirements: stable network connection, Xorg/Wayland (Linux)

Fehlerbehebung Schritte für fehlgeschlagene Docker -Bild Build: Überprüfen Sie die Dockerfile -Syntax und die Abhängigkeitsversion. Überprüfen Sie, ob der Build -Kontext den erforderlichen Quellcode und die erforderlichen Abhängigkeiten enthält. Sehen Sie sich das Build -Protokoll für Fehlerdetails an. Verwenden Sie die Option -Target -Option, um eine hierarchische Phase zu erstellen, um Fehlerpunkte zu identifizieren. Verwenden Sie die neueste Version von Docker Engine. Erstellen Sie das Bild mit--t [Bildname]: Debugg-Modus, um das Problem zu debuggen. Überprüfen Sie den Speicherplatz und stellen Sie sicher, dass dies ausreicht. Deaktivieren Sie Selinux, um eine Störung des Build -Prozesses zu verhindern. Fragen Sie Community -Plattformen um Hilfe, stellen Sie Dockerfiles an und erstellen Sie Protokollbeschreibungen für genauere Vorschläge.
