Prosesser som kjører på et operativsystem blir tildelt forskjellige regioner som bruker et virtuelt minneområde som er kartlagt til det fysiske minnet i et abstraksjonslag. Kjernen bevarer således en oversettelsestabell som fremhever hver prosess, og eventuelle endringer som blir gjort, blir oppdatert på oversettelsesbordet. PMAP -kommandoen er nødvendig for å få tilgang til dette minneområdet som brukes av hver prosess, og i denne guiden lærer du hvordan du bruker PMAP -kommandoen til å se minnebruken ved en prosess.”
Hvordan bruke PMAP
Syntaksen for å bruke PMAP er:
PMAP [Alternativer] PID […]
Derfor er den første tingen å gjøre å få prosess -ID for den aktuelle prosessen, og det er forskjellige måter å få PID. For raskt å få PID -en i en prosess, bruk PS AUX, og deretter grep prosessnavnet eller bruk PIDOF -alternativet.
For eksempel for å få PID på bashprosessen:
1. Bruke PS aux
$ ps aux | Grep Bash
2. Bruke Pidof
$ pidof bash
Ved hjelp av
PMAP for å få minnebruk av en enkelt prosess
Nå som du har PID i målprosessen din, kan du sjekke minnebruken ved hjelp av kommandoen nedenfor.
$ PMAP 4959
Utgangen vil være:
Fra utgangen kan du se at den første linjen fremhever prosessnavnet, i dette tilfellet Bash og dens prosess -ID. De neste linjene starter med den kartlagte minneadressen, etterfulgt av størrelsen på minnet om den aktuelle minneadressen i Kilobytes.
De andre karakterene representerer tillatelsene til det virtuelle minnet, analysert nedenfor.
r: innebærer at prosessen kan lese det kartlagte minnet.
w: innebærer at prosessen kan skrive til det kartlagte minnet.
x: innebærer at prosessen kan utføre instruksjoner i det kartlagte minnet.
Bruker PMAP for å få minnebruk av flere prosesser
PMAP -kommandoen blir brukt med flere PID -er atskilt med et rom for å få minnebruken. For eksempel, hvis du har Pids 1818, 1741 og 4959, vil kommandoen være:
$ PMAP 1818 1741 4959
Utgangen ligner på en enkelt prosess, bortsett fra at minnebruken vil bli skilt per hver prosess, som vist nedenfor.
For utgangen fra neste prosess:
Få en utvidet PMAP -utgang
For å få et utvidet format av minnebruken, legg til -x til PMAP -kommandoen som i eksemplet nedenfor.
$ PMAP -X 4959
Kommandoen utvidet utdata vil være:
Du vil merke at noen ekstra felt blir vist med utvidet utgang. Hvert av feltene representerer forskjellig informasjon om bruk av minne.
Adresse: Det representerer startadressen til kartleggingen.
Kbytes: Dette er størrelsen på det virtuelle minneområdet.
RSS: Dette er den bosatte settstørrelsen representert i kilobyte.
Skitne: De delte og private skitne sidene uttrykt i kilobyte.
Modus: Karttillatelsene.
Kartlegging: Dette er filen som støtter kartet, og det kan være '[stack]' eller '[anon]'.
PMAP Show Device Format
Alternativet -d, når det brukes med PMAP, sender ut enhetsformatet tilknyttet den aktuelle prosessen.
$ PMAP -D 4959
Ytterligere to felt blir lagt til utdataene.
Offset: det representerer forskyvningen av filen hvis minnet er filbasert.
Enhet: enhetsformatet.
PMAP viser alt
-Alternativet viser den utvidede utgangen. Du kan imidlertid vise alt kjernen kan få om minnebruk av en prosess ved å legge til -x -alternativet.
$ PMAP -X 4959
Andre PMAP -alternativer
1. Få full sti
For å få full vei til filene:
$ PMAP -P 4959
2. Ignorer kolonnenavn
Hvis du for eksempel vil ekskludere kolonnenavnene når du viser utdatarapporten, når du får enhetsnavnet:
$ PMAP -QD 4959
3. Få PMAP -versjonen
For å se den nåværende PMAP -versjonen:
$ PMAP -V
4. PMAP -hjelpeside
Å åpne PMAP -hjelpesiden.
$ PMAP - -hjelp
Konklusjon
Når du jobber med Linux, kan forståelse av minnehåndtering være komplisert. Heldigvis, ved hjelp av PMAP -kommandoen, kan du få hele bildet av hva som skjer i minnet. En PMAP -kommando er et flott verktøy for alle som arbeider med prosessminnekart. Denne guiden dekket den vanlige bruken av PMAP Linux -kommandoen for å komme i gang.