CHMEM(8)

NUME
chmem - configurează memoria

REZUMAT

chmem [-h] [-V] [-v] [-c|-e|-d|-g] [DIMENSIUNE|INTERVAL|-b INTERVAL-BLOC] [-z ZONA] [-m MEMMAP-ON-MEMORY]

DESCRIERE

Comanda chmem stabilește o anumită dimensiune sau un anumit interval de memorie ca fiind activat sau dezactivat.

    • Specifică DIMENSIUNEA ca <dimensiune>[m|M|g|G]. Cu m sau M, <dimensiunea> specifică dimensiunea memoriei în Mio (1024 x 1024 octeți). Cu g sau G, <dimensiune> specifică dimensiunea memoriei în Gio (1024 x 1024 x 1024 bytes). Unitatea implicită este Mio.

    • Specifică INTERVALUL sub forma 0x<începe>-0x<termină>, așa cum se arată în ieșirea comenzii lsmem(1). <începe> este adresa hexazecimală a primului octet și <termină> este adresa hexazecimală a ultimului octet din intervalul de memorie.

    • Specifică INTERVAL-BLOC sub forma <primul>-<ultimul> sau <bloc>, așa cum se arată în ieșirea comenzii lsmem(1). <primul> este numărul primului bloc de memorie, iar <ultimul> este numărul ultimului bloc de memorie din intervalul de memorie. Alternativ, se poate specifica un singur bloc. INTERVAL-BLOC necesită opțiunea --blocks.

    • Specifică ZONA ca nume al unei zone de memorie, așa cum se arată în rezultatul comenzii lsmem -o +ZONE. Ieșirea arată una sau mai multe zone de memorie valide pentru fiecare interval de memorie. Dacă sunt afișate mai multe zone, atunci intervalul de memorie aparține în prezent primei zone. În mod implicit, chmem va stabili memoria activă în zona Movable, dacă aceasta se află printre zonele valide. Această valoare implicită poate fi modificată prin specificarea opțiunii --zone cu o altă zonă validă. Pentru umflarea memoriei, se recomandă să se selecteze zona Movable pentru memoria activă și inactivă, dacă este posibil. Memoria din această zonă are mult mai multe șanse să poată fi din nou inactivă, dar nu poate fi utilizată pentru alocări arbitrare ale nucleului, ci doar pentru pagini migrabile (de exemplu, pagini anonime și pagini din zona de stocare (cache) a paginilor). Utilizați opțiunea --help pentru a vedea toate zonele disponibile.

    • Specifică MEMMAP-ON-MEMORY ca fiind 1 sau 0. Valoarea 1 alocă metadatele hotplug (cum ar fi matricea struct pages) din memoria hotplug propriu-zisă, permițând operații de adăugare la cald chiar și în condiții de presiune asupra memoriei și fără a necesita memorie de sistem suplimentară pentru aceasta. O valoare de 0 stochează metadatele memoriei hotplug în memoria obișnuită a sistemului, ceea ce ajută la evitarea problemelor legate de fragmentarea memoriei fizice continue între blocurile de memorie. Valoarea poate fi stabilită numai când blocul de memorie se află într-o stare deconfigurată, iar --memmap-on-memory este valabilă numai cu --configure. Dacă nu este specificată, și dacă este acceptată, chmem folosește valoarea implicită afișată în ieșirea lsmem.

Opțiunea --enable configurează memoria, dacă acest lucru este acceptat de arhitectură. Dacă configurarea memoriei nu este acceptată de arhitectură, opțiunea --enable activează totuși memoria.

Opțiunea --disable dezactivează memoria și efectuează o etapă opțională de deconfigurare, dacă aceasta este acceptată de arhitectură.

Opțiunea --configure solicită memorie de la hipervizor fără a o activa, atunci când arhitectura permite acest lucru, permițând controlul explicit și utilizarea opțiunii --memmap-on-memory.

Opțiunea --deconfigure eliberează resursele de memorie către hipervizor, dacă arhitectura acceptă această funcție.

DIMENSIUNEA și INTERVALUL trebuie să fie aliniate la dimensiunea blocului de memorie Linux, așa cum se arată în ieșirea comenzii lsmem(1).

Stabilirea memoriei ca activă, poate eșua din diverse motive. Pe sistemele virtualizate, poate eșua dacă hipervizorul nu mai are suficientă memorie, de exemplu, pentru că memoria a fost suprasolicitată. Stabilirea memoriei ca inactivă poate eșua dacă Linux nu poate elibera memoria. În cazul în care numai o parte din memoria solicitată poate fi stabilită activă sau inactivă, un mesaj vă informează cât de multă memorie a fost stabilită activă sau inactivă în loc de cantitatea solicitată.

Atunci când stabilește memoria ca activă sau când configurează memoria, chmem începe cu numerele celor mai mici blocuri de memorie. Atunci când stabilește memoria ca dezactivată sau când deconfigurează memoria, chmem începe cu numerele celor mai mari blocuri de memorie.

ARHITECTURA

    • Arhitectura s390:

MEMMAP-ON-MEMORY: Pentru blocurile de memorie configurate ca active la pornire, valoarea implicită este 0, deoarece acestea sunt adăugate fără suport pentru memmap-on-memory. Memoria adăugată dinamic în timpul rulării utilizează valoarea implicită afișată la ieșirea comenzii lsmem.

OPȚIUNI

-b, --blocks
    Utilizează un parametru INTERVAL-BLOC în loc de INTERVAL sau DIMENSIUNE pentru opțiunile --enable și --disable.

-c, --configure
    Stabilește INTERVALUL, DIMENSIUNEA sau INTERVALUL-BLOC specificat de memorie ce urmează să fie configurat.

-d, --disable
    Stabilește INTERVALUL, DIMENSIUNEA sau INTERVALUL-BLOC specificat de memorie ca dezactivat.

-e, --enable
    Stabilește INTERVALUL, DIMENSIUNEA sau INTERVALUL-BLOC specificat de memorie ca activat.

-g, --deconfigure
    Stabilește INTERVALUL, DIMENSIUNEA sau INTERVALUL-BLOC specificat de memorie ca deconfigurat.

-m, --memmap-on-memory
    Selectează memmap-on-memory pentru INTERVALUL, DIMENSIUNEA sau INTERVALUL-BLOC specificat de memorie. această opțiune este validă doar împreună cu opțiunea --configure.

-z, --zone
    Selectează ZONA de memorie în care se va stabili INTERVALUL, DIMENSIUNEA sau INTERVALUL-BLOC de memorie specificat, activat sau dezactivat. În mod implicit, memoria va fi stabilită ca activată în zona Movable, dacă este posibil.

-v, --verbose
    Modul descriptiv. Face ca chmem să afișeze mesaje de depanare despre progresul său.

-h, --help
    Afișează acest mesaj de ajutor și iese.

-V, --version
    Afișează versiunea și iese.

STARE DE IEȘIRE

chmem are următoarele valori de stare de ieșire:

0
    succes

1
    eșec

64
    succes parțial

EXEMPLE

chmem --enable 1024
    Această comandă solicită ca 1024 Mio de memorie să fie configurată ca activată.

chmem -e 2g
    Această comandă solicită activarea a 2 Go de memorie și, dacă arhitectura permite acest lucru, configurează memoria în prealabil.

chmem --disable 0x00000000e4000000-0x00000000f3ffffff
    Această comandă dezactivează intervalul de memorie cuprins între 0x00000000e4000000 și 0x00000000f3ffffff și îl deconfigurează, dacă arhitectura permite acest lucru.

chmem -b -d 10
    Această comandă dezactivează blocul de memorie numărul 10.

chmem -b -c 10 -m 1
    Această comandă configurează blocul de memorie 10 cu opțiunea MEMMAP-ON-MEMORY activată. Blocul trebuie să se afle într-o stare neconfigurată.

chmem -b -c 10
    Această comandă configurează blocul de memorie 10 cu opțiunea implicită MEMMAP-ON-MEMORY. Valoarea implicită este afișată prin comanda lsmem --output-all. Blocul trebuie să se afle într-o stare neconfigurată.

chmem -b -g 10
    Această comandă deconfigurează blocul de memorie numărul 10. Blocul trebuie să fie dezactivat.

chmem -d 5g
    Această comandă dezactivează 5 Go de memorie și o deconfigurează, dacă arhitectura permite acest lucru. Blocurile care sunt deja dezactivate, dar încă configurate, sunt omise și trebuie deconfigurate în mod explicit cu opțiunea --deconfigure.

CONSULTAȚI ȘI

lsmem(1)

RAPORTAREA ERORILOR

Pentru rapoarte de eroare, folosiți

DISPONIBILITATE

Comanda chmem face parte din pachetul util-linux care poate fi descărcat de la