Sådan installeres pagemon - Et værktøj til at overvåge proceshukommelse

For nylig har Colin Ian King fra Canonical udviklet et nyt værktøj kaldet 'pagemon'. Det er et ncurses-baseret interaktivt hukommelsesovervågningsværktøj, som giver brugerne mulighed for at gennemse hukommelseskortet til en aktiv Linux-proces. Page Table Entries (PTE'er) er grundlaget for dette værktøjs arbejde. Pagemon scanner kontinuerligt PTE'erne i en given proces og viser den beskidte aktivitet i realtid. Det kan også identificere den type kortlægning, en hukommelsesside tilhører. På grund af dette kan brugerne nemt scanne gennem hukommelsen og nemt identificere sider med hukommelse, der tilhører kode, data, stak, bunke, anonyme mapper eller udskiftede sider. Værktøjet er tilgængeligt i Ubuntu Xenial.

Installation

For at installere pagemon på Debian-baserede systemer skal du først installere ppa-depotet "ppa: colin-king / pagemon".

Bemærk: Ubuntu 15.10 er blevet brugt i nedenstående eksempler.

sudo add-apt-repository ppa: colin-king / pagemon

[Email protected]: ~ $ sudo add-apt-repository ppa: colin-king / pagemon
[sudo] adgangskode til poornima:
Sideovervågningsværktøj
Mere info: https://launchpad.net/~colin-king/+archive/ubuntu/pagemon
Tryk på [ENTER] for at fortsætte eller ctrl-c for at annullere tilføjelsen af ​​det

gpg: keyring `/tmp/tmpsdek8lba/secring.gpg 'oprettet
gpg: keyring `/tmp/tmpsdek8lba/pubring.gpg 'oprettet
gpg: anmode om nøgle B0F01786 fra hkp server keyserver.ubuntu.com
gpg: /tmp/tmpsdek8lba/trustdb.gpg: trustdb oprettet
gpg: nøgle B0F01786: publickey "Launchpad PPA for Colin King" importeret
gpg: Samlet antal behandlet: 1
gpg: importeret: 1 (RSA: 1)
OK

Opdater nu opbevaringsstedet og installer pagemon

sudo apt-get update

sudo apt-get install pagemon

[Email protected]: ~ $ sudo apt-get install pagemon
Læsning pakkelister ... Udført
Bygning afhængighed træ
Læsning state information ... Udført
Følgende pakker blev automatisk installeret og er ikke længere påkrævet:
gcj-4.9-jre-hovedløs gcj-4.9-jre-lib gir1.2-gconf-2.0 libboost-thread1.55.0
libdirac-encoder0 libgcj15 libmediaart-1.0-0 libmircommon3 libts-0.0-0
linux-headers-3.16.0-23 linux-headers-3.16.0-23-generisk
linux-image-3.16.0-23-generisk linux-image-ekstra-3.16.0-23-generisk
ruby-celluloid ruby-hitimes ruby-timers tsconf
Brug 'apt-get autoremove' for at fjerne dem.
NEW Will Be GMT pakker installeret:
pagemon
0 opgraderet, nyinstallerede 1, 0 65 at fjerne og ikke opgraderet.
Behov for at få 16.0 kB arkiver.
Efter denne operation vil 42.0 kB ekstra diskplads blive brugt.
Få: 1 http://ppa.launchpad.net/colin-king/pagemon/ubuntu/ wily / main pagemon i386 0.01.06-1 ~ w [16.0 kB]
Fetched 16.0 kB i 0s (25.0 kB / s)
Valg af tidligere ikke valgt pakke pagemon.
(Læsning database ... 319256 filer og mapper i øjeblikket installeret.)
Forbereder at udpakke ... / pagemon_0.01.06-1 ~ w_i386.deb ...
Udpakning af pagemon (0.01.06-1 ~ w) ...
Behandler udløsere til man-db (2.7.4-1) ...
Opsætning af pagemon (0.01.06-1 ~ w) ...

Du er nu klar til at starte pagemon og bruge den. Men husk at du altid skal bruge 'sudo', da det er nødvendigt at indlede en løbende proces.

Usage

Her er skærmbilledet, der viser mulighederne som nu med pagemon.

pagemon hjælpemuligheder

For at kunne overvåge en proces skal vi overføre proces id til pagemon værktøj.

sudo pagemon -p OR

sudo pagemon -p $ (pidof proces) - hvis du ikke kender pid.

Eksemplet nedenfor viser, hvordan man overvåger hukommelsesaktiviteterne ved init-processen ved hjælp af pagemon.

[Email protected]: ~ $ sudo-pagemon -p 1

[Email protected]: ~ $ sudo pagemon -p ($ pidof init)

Sidevisning af 'init'-processen

Et andet interessant træk ved dette værktøj er, at det også er muligt at se hukommelsessiderne, der tilhører heap, stack, data, kode, anonyme mappings og udskiftede sider ved at trykke på 'enter' -tasten, når i sidevisningen. Dens evne til at vise hukommelsessider, der bliver udskiftet under hukommelsestryk, er ret nyttige.

Hukommelsesvisning af init-processen

Vi kan se VM-tilstanden ved at bruge -v-indstillingen med pagemon. Det viser detaljer som tilstanden af ​​processen (kører / sover), VM størrelse, PTE, Bytte, større og mindre sidefejl mv.

sudo pagemon -p <pid> -v

VM tilstand af en proces

Hvis du vil øge eller formindske forsinkelsen (i mikrosekunder) i data opdateres, skal du bruge '-d'-indstillingen. Standard er 10,000 mikrosekunder.

For flere muligheder henvises til mand side af værktøjet og dets kilde kan klones fra ubuntu kernel side.

Konklusion

Pagemon er nyttigt til at spore sideaktivitet for kørende processer. Udvikleren hævder, at koden er af tidlig udviklingskvalitet, men virker ganske godt, hvis nogen er interesseret i at prøve. Der kunne være flere funktioner tilføjet til det i de kommende dage. Alt i alt et godt værktøj til at prøve.

Giv en kommentar

Dette websted bruger Akismet til at reducere spam. Lær, hvordan dine kommentardata behandles.