/proc/buddyinfo - Speicherfragmentierung
- /proc/buddyinfo
- Diese Datei enthält Informationen, die zur Diagnose von
Speicherfragmentierungsproblemen verwandt werden. Jede Zeile beginnt mit
der Kennzeichnung des Knotens und dem Name der Zone, die zusammen einen
Speicherbereich identifizieren. Dies wird von der Anzahl der
verfügbaren Stücke (Chunks) einer bestimmten Ordnung, in die
diese Zonen geteilt sind, gefolgt. Die Größe in Bytes einer
bestimmten Ordnung wird von der folgenden Formel bestimmt:
-
(2^Ordnung) * PAGE_SIZE
- Der binäre Buddy-Speicherverwaltungsalgorithmus innerhalb des
Kernels wird ein Stück in zwei Stücke einer geringeren
Ordnung (daher mit der halben Größe) unterteilen oder zwei
angrenzende Stück in ein größeres Stück
höherer Ordnung (daher mit der doppelten Größe)
kombinieren, um Reservierungsanfragen zu erfüllen und um
Speicherfragmentierung etwas entgegenzusetzen. Die Ordnung entspricht der
Spaltennummer, wenn mit dem Zählen bei Null begonnen wird.
- Auf einem x86-64-System zum Beispiel:
Node 0, zone DMA 1 1 1 0 2 1 1 0 1 1 3
Node 0, zone DMA32 65 47 4 81 52 28 13 10 5 1 404
Node 0, zone Normal 216 55 189 101 84 38 37 27 5 3 587
- In diesem Beispiel gibt es einen Knoten, der drei Zonen enthält und
es gibt 11 verschiedene Stückgrößen. Falls die
Seitengröße 4 Kilobyte beträgt, dann hat die erste
Zone, genannt DMA, (auf X86 die ersten 16 Megabyte an Speicher) ein
Stück von 4 Kilobyte (Ordnung 0) verfügbar und hat 3
Stücke von 4 Megabyte (Ordnung 10) verfügbar.
- Falls der Speicher stark fragmentiert ist, werden die Zähler
für Stücke höherer Ordnung Null sein und Zuweisungen
von großen, zusammenhängenden Bereichen fehlschlagen.
- Weitere Informationen über die Zonen können in
/proc/zoneinfo gefunden werden.
ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von
Martin Eberhard Schauer <Martin.E.Schauer@gmx.de>, Dr. Tobias
Quathamer <toddy@debian.org>, Chris Leick <c.leick@vollbio.de>,
Erik Pfannenstein <debianignatz@gmx.de> und Helge Kreutzmann
<debian@helgefjell.de> erstellt.
Diese Übersetzung ist Freie Dokumentation; lesen Sie die
GNU General
Public License Version 3 oder neuer bezüglich der
Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite
finden, schicken Sie bitte eine E-Mail an die Mailingliste der
Übersetzer:
debian-l10n-german@lists.debian.org.