BEZEICHNUNG¶
chmem - Speicher konfigurieren
ÜBERSICHT¶
chmem [-h] [-V] [-v]
[-c|-e|-d|-g]
[GRÖSSE|BEREICH|-b BLOCKBEREICH]
[-z ZONE] [-m ZUWEISUNG-IM-SPEICHER]
BESCHREIBUNG¶
Der Befehl chmem setzt eine bestimmte
Speichergröße oder einen bestimmten Speicherbereich online
oder offline.
•Geben Sie die GRÖSSE als
<Größe>[m|M|g|G] an. Mit m oder M gibt die
<Größe> die Speichergröße in MiB an (1024 x
1024 Byte). Mit g oder G gibt die <Größe> die
Speichergröße in GiB an (1024 x 1024 x 1024 Byte). Die
Standardeinheit ist MiB.
•Geben Sie den
BEREICH in der Form
0x<Beginn>-0x<Ende> an, wie in der Ausgabe des Befehls
lsmem(1). <Beginn> ist die hexadezimale Adresse des ersten Bytes
und <Ende> die hexadezimale Adresse des letzten Bytes im
Speicherbereich.
•Geben Sie den
BLOCKBEREICH in der Form
<Erste>-<Letzte> oder <Block> an, wie in der Ausgabe des
Befehls
lsmem(1). <Erste> ist die Nummer des ersten
Speicherblocks und <Letzte> die Nummer des letzten Speicherblocks im
Speicherbereich. Alternativ kann ein einzelner Block angegeben werden.
BLOCKBEREICH erfordert die Option
--blocks.
•Geben Sie ZONE als Name des
Speicherbereichs an, wie in der Ausgabe des Befehls lsmem -o +ZONEN.
Die Ausgabe zeigt eine oder mehrere zulässige Speicherzonen für
jeden Speicherbereich an. Wenn mehrere Zonen angezeigt werden, dann bezieht
sich der aktuelle Speicherbereich auf die erste Zone.
Standardmäßig setzt chmem den Speicher in der Zone
»Movable« online, sofern sich diese unter den zulässigen
Zonen befindet. Diese Standardeinstellung kann mit der Option --zone in
eine andere zulässige Zone geändert werden. Für
»Memory Ballooning« (Rückforderung ungenutzten virtuellen
Speichers vom Gast durch das Wirtssystem in Virtualisierungen) wird empfohlen,
die Zone »Movable« für Online- und Offline-Speicher falls
möglich auszuwählen. Für den Speicher in diesem Bereich
ist es sehr wahrscheinlich, dass er wieder offline gesetzt werden kann, aber
er kann nicht für willkürliche Zuweisungen durch den Kernel
genutzt werden, sondern nur für migrierbare Seiten (zum Beispiel
anonyme Seiten oder jene aus dem Seiten-Zwischenspeicher). Mit der Option
--help erhalten Sie eine Übersicht aller verfügbaren
Zonen.
•Geben Sie ZUWEISUNG-IM-SPEICHER als 1 oder
0 an. Der Wert 1 weist Hotplug-Metadaten (zum Beispiel das Array
»struct pages«) aus dem Hotplug-Speicher selbst zu und
ermöglicht so Hot-Add-Operationen auch unter Speichermangel, ohne dass
zusätzlicher Systemspeicher benötigt wird. Der Wert 0 speichert
die Metadaten des Hotplug-Speichers im regulären Systemspeicher,
wodurch Probleme im Zusammenhang mit der Fragmentierung
zusammenhängender physischer Speicherblöcke vermieden werden.
Der Wert kann nur gesetzt werden, wenn sich der Speicherblock in einem
dekonfigurierten Zustand befindet, und -- memmap-on-memory ist nur mit
--configure zulässig. Wenn kein Wert angegeben wird und
chmem unterstützt wird, verwendet chmem den in der
Ausgabe von lsmem angezeigten Standardwert.
Die Option --enable konfiguriert den Speicher, sofern dies
von der Architektur unterstützt wird. Wird die Speicherkonfiguration
von der Architektur nicht unterstützt, aktiviert --enable den
Speicher dennoch.
Die Option --disable schaltet den Speicher offline und
führt optional einen Dekonfigurationsschritt durch, sofern dies von
der Architektur unterstützt wird.
Die Option --configure fordert Speicher vom Hypervisor an,
ohne ihn online zu schalten, sofern die Architektur dies unterstützt.
Dadurch wird eine explizite Steuerung und Nutzung von
--memmap-on-memory ermöglicht.
Die Option --deconfigure gibt Speicherressourcen an den
Hypervisor zurück, sofern dies von der Architektur unterstützt
wird.
GRÖSSE und BEREICH müssen an der
Linux-Speicherblockgröße ausgerichtet sein, wie in der Ausgabe
des Befehls lsmem(1) gezeigt.
Das Versetzen des Speichers in den Online-Zustand kann aus
verschiedenen Gründen fehlschlagen. Auf virtualisierten Systemen ist
es möglich, dass der Hypervisor nicht über ausreichend
Speicher verfügt, zum Beispiel weil der Speicher überzogen
(»overcommitted«) wurde. Das Versetzen in den Offline-Zustand
kann ebenso fehlschlagen, wenn Linux den Speicher nicht freisetzen kann.
Falls nur Teile des angeforderten Speichers online oder offline gesetzt
werden können, informiert Sie eine Meldung darüber, wie viel
Speicher im Gegensatz zu der angeforderten Menge online oder offline gesetzt
werden konnte.
Wenn Speicher online gesetzt oder konfiguriert wird, beginnt
chmem bei den Speicherblöcken mit den niedrigsten Nummern.
Wenn Speicher offline gesetzt oder dekonfiguriert wwird, beginnt
chmem bei den Speicherblöcken mit den höchsten
Nummern.
ARCHITEKTUR¶
•s390-Architektur:
ZUWEISUNG-IM-SPEICHER: Für Speicherblöcke,
die beim Systemstart online konfiguriert werden, ist der Standardwert 0, da
sie ohne ZUWEISUNG-IM-SPEICHER-Unterstützung hinzugefügt
werden. Speicher, der dynamisch zur Laufzeit hinzugefügt wird,
verwendet den in der Ausgabe von lsmem(1) angezeigten
Standardwert.
OPTIONEN¶
-b, --blocks
verwendet für die Optionen --enable und
--disable einen BLOCKBEREICH-Parameter anstelle von
BEREICH oder GRÖSSE.
-c, --configure
setzt den angegebenen BEREICH, die
GRÖSSE oder den BLOCKBEREICH des Speichers auf
»konfiguriert«.
-d, --disable
setzt den angegebenen BEREICH, die
GRÖSSE oder den BLOCKBEREICH des Speichers offline.
-e, --enable
setzt den angegebenen BEREICH, die
GRÖSSE oder den BLOCKBEREICH des Speichers online.
-g, --deconfigure
setzt den angegebenen BEREICH, die
GRÖSSE oder den BLOCKBEREICH des Speichers auf
»dekonfiguriert«.
-m, --memmap-on-memory
wählt ZUWEISUNG-IM-SPEICHER für den
angegebenen Speicherbereich (BEREICH, GRÖSSE oder
BLOCKBEREICH). Diese Option ist nur mit --configure
gültig.
-z, --zone
wählt die Speicher-ZONE, in welcher der
angegebene BEREICH, die GRÖSSE oder der
BLOCKBEREICH des Speichers online oder offline gesetzt werden soll.
Standardmäßig wird der Speicher in der Zone
»Movable« online gesetzt, falls möglich.
-v, --verbose
aktiviert den ausführlichen Modus. Dadurch wird
chmem veranlasst, Fehlerdiagnosemeldungen über dessen
Fortschritt auszugeben.
-h, --help
zeigt einen Hilfetext an und beendet das Programm.
-V, --version
zeigt Versionsinformationen an und beendet das
Programm.
EXIT-STATUS¶
chmem gibt die folgenden Exit-Status-Werte aus:
0
Erfolg
1
Fehlschlag
64
Teilerfolg
BEISPIELE¶
chmem --enable 1024
Dieser Befehl fordert die Online-Setzung von 1024 MiB
Speicher an.
chmem -e 2g
Dieser Befehl fordert 2 GB Arbeitsspeicher an, der online
geschaltet werden soll, und konfiguriert diesen, sofern die Architektur dies
unterstützt, im Voraus.
chmem --disable 0x00000000e4000000-0x00000000f3ffffff
Dieser Befehl nimmt den Speicherbereich von
0x00000000e4000000 bis0x00000000f3ffffff offline und dekonfiguriert ihn,
sofern dies von der Architektur unterstützt wird.
chmem -b -d 10
Dieser Befehl setzt den Speicherblock mit der Nummer 10
offline.
chmem -b -c 10 -m 1
Dieser Befehl konfiguriert Speicherblock 10 mit
aktivierter ZUWEISUNG-IM-SPEICHER. Der Block muss sich im
dekonfigurierten Zustand befinden.
chmem -b -c 10
Dieser Befehl konfiguriert Speicherblock 10 mit der
standardmäßigen ZUWEISUNG-IM-SPEICHER-Einstellung. Der
Standardwert wird in lsmem --output-all angezeigt. Der Block muss sich
im dekonfigurierten Zustand befinden.
chmem -b -g 10
Dieser Befehl dekonfiguriert den Speicherblock mit der
Nummer 10. Der Block muss offline sein.
chmem -d 5g
nimmt 5 GB Speicher offline und dekonfiguriert ihn,
sofern die Architektur dies unterstützt. Bereits offline gesetzte, aber
noch konfigurierte Speicherblöcke werden übersprungen und
müssen explizit mit --deconfigure dekonfiguriert werden.