


Das System verfügt offensichtlich über viel Speicher, kann aber keinen großen Speicher zuweisen?
Die heutige Frage: Das System verfügt offensichtlich über viel Speicher, kann aber keinen großen Speicher zuweisen?
Warum ist das so?
Diese Frage betrifft einen Aspekt der Speicherverwaltung – Speicherfragmentierung
Was ist Speicherfragmentierung?
Speicherfragmentierung trat schon sehr früh in Linux auf. Wenn wir die Geschichte der frühen Speicherfragmentierung verstehen, können wir sie besser verstehen.
Angenommen, es gibt einen Speicherbereich von 32 MB. Das Betriebssystem verwendet zunächst den kleinsten Speicherbereich – 4 MB, und der verbleibende Speicher ist für 4 Prozesse reserviert, wie in Abbildung (a) dargestellt.

Prozess A verwendet 10 MB Speicher über dem Betriebssystem, Prozess B verwendet 6 MB Speicher über Prozess A und Prozess C verwendet 8 MB Speicher über Prozess B, wie in Abbildung (b) dargestellt:

Prozess D benötigt 5 MB Speicher, daher reicht der verbleibende Speicher nicht aus, um Prozess D zu laden. Dieses letzte Bit Speicher bildet die erste Lücke (Speicherfragmentierung). Angenommen, das Betriebssystem muss zu einem bestimmten Zeitpunkt Prozess D ausführen, da nicht genügend Speicher im System vorhanden ist. Daher muss es einen Prozess zum Auslagern auswählen, um genügend Platz für Prozess D zu schaffen. Nehmen Sie an, dass das Betriebssystem Prozess B zum Auslagern auswählt, sodass Prozess D in den Adressraum des ursprünglichen Prozesses B geladen wird und so ein zweites Loch entsteht, wie in Abbildung (c) dargestellt:

Angenommen dass das Betriebssystem Zu einem bestimmten Zeitpunkt muss Prozess B ausgeführt werden und ein Prozess muss zum Auslagern ausgewählt werden. Unter der Annahme, dass Prozess A ausgelagert wird, erscheint ein „drittes Loch“ im Betriebssystem, wie gezeigt in Abbildung (d):

bezeichnet. Wenn Sie das sehen, wissen Sie bereits, was Speicherfragmentierung ist, und Sie verstehen auch einen Speicherverwaltungsmechanismus – eine dynamische Partitionierungsmethode. Das obige Beispiel ist eigentlich die „Dynamische Partitionierungsmethode“ In den frühen Tagen des Betriebssystems wurde die dynamische Partitionierungsmethode zur Speicherverwaltung verwendet. Die Idee ist eigentlich ganz einfach: . Frühe Betriebssysteme, die dynamische Partitionierungsmethoden verwendeten, um das Problem der Fragmentierung zu lösen, , so dass mehrere klein sind Speicherblöcke Füge es zusammen. Aber auch die Nachteile liegen auf der Hand: Die Prozessmigration nimmt viel Zeit in Anspruch. und äußere Fragmentierung : der Teil des Speichers, der dem Programm zugewiesen ist, aber nicht verwendet : Kleine Speicherblöcke, die vom System nicht genutzt werden können (z. B. die durch die oben genannte dynamische Partitionierungsmethode erzeugte Fragmentierung)Heutzutage verwenden Betriebssysteme Paging- oder Segmentierungsmechanismen, um den Speicher zu verwalten, aber einige Es werden immer noch zwangsläufig Speicherfragmente erzeugt. Um das Problem der internen und externen Fragmentierung zu lösen, hat Linux zwei Dinge eingeführt: und slab. Das Partnersystem und die Platte sind auch Kerninhalte im Speichermanagement. Wenn Sie interessiert sind, können Sie es studieren.
Es gibt zwei Arten der Speicherfragmentierung:
innere Fragmentierung
Wenn das System also über viel Speicher verfügt, aber keinen großen Speicherabschnitt zuweisen kann, liegt das daran, dass viele Speicherfragmente generiert werden, was zu vielen diskontinuierlichen kleinen Speicherabschnitten führt Das System scheint über viel freien Speicher zu verfügen, aber in Wirklichkeit handelt es sich nur um verstreuten Speicher.
Das obige ist der detaillierte Inhalt vonDas System verfügt offensichtlich über viel Speicher, kann aber keinen großen Speicher zuweisen?. 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)

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.

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 wird 2024 geschlossen, da seine stromaufwärts gelegene Verteilung RHEL 8 geschlossen wurde. Diese Abschaltung wirkt sich auf das CentOS 8 -System aus und verhindert, dass es weiterhin Aktualisierungen erhalten. Benutzer sollten eine Migration planen, und empfohlene Optionen umfassen CentOS Stream, Almalinux und Rocky Linux, um das System sicher und stabil zu halten.

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.

Backup- und Wiederherstellungsrichtlinie von GitLab im Rahmen von CentOS -System Um die Datensicherheit und Wiederherstellung der Daten zu gewährleisten, bietet GitLab on CentOS eine Vielzahl von Sicherungsmethoden. In diesem Artikel werden mehrere gängige Sicherungsmethoden, Konfigurationsparameter und Wiederherstellungsprozesse im Detail eingeführt, um eine vollständige GitLab -Sicherungs- und Wiederherstellungsstrategie aufzubauen. 1. Manuell Backup Verwenden Sie den GitLab-RakegitLab: Backup: Befehl erstellen, um die manuelle Sicherung auszuführen. Dieser Befehl unterstützt wichtige Informationen wie GitLab Repository, Datenbank, Benutzer, Benutzergruppen, Schlüssel und Berechtigungen. Die Standardsicherungsdatei wird im Verzeichnis/var/opt/gitlab/backups gespeichert. Sie können /etc /gitlab ändern

CentOS -Festplattenhalterung ist in die folgenden Schritte unterteilt: Bestimmen Sie den Namen der Festplattengeräte (/dev/sdx); Erstellen Sie einen Mountspunkt (es wird empfohlen, /mnt /newDisk zu verwenden). Führen Sie den Befehl montage (mont /dev /sdx1 /mnt /newdisk) aus; Bearbeiten Sie die Datei /etc /fstab, um eine permanente Konfiguration des Montings hinzuzufügen. Verwenden Sie den Befehl uMount, um das Gerät zu deinstallieren, um sicherzustellen, dass kein Prozess das Gerät verwendet.

Nachdem CentOS gestoppt wurde, können Benutzer die folgenden Maßnahmen ergreifen, um sich damit zu befassen: Wählen Sie eine kompatible Verteilung aus: wie Almalinux, Rocky Linux und CentOS Stream. Migrieren Sie auf kommerzielle Verteilungen: wie Red Hat Enterprise Linux, Oracle Linux. Upgrade auf CentOS 9 Stream: Rolling Distribution und bietet die neueste Technologie. Wählen Sie andere Linux -Verteilungen aus: wie Ubuntu, Debian. Bewerten Sie andere Optionen wie Container, virtuelle Maschinen oder Cloud -Plattformen.
