Et system som mangler nok fysisk minne (RAM) vil kjøre betydelig tregere, da prosesser flyttes mellom RAM og bytte. Hvis et Linux-system begynner å gå sakte, er en av de første feilsøkingsoppgaver å frigjøre fysisk minne.

Det er flere verktøy tilgjengelig for å overvåke minnebruken på et Linux-system, inkludert topp, som vi har diskutert. Smem er et annet verktøy som brukes til å overvåke minnebruk. I tillegg til å vise minnebruk av prosesser på kommandolinjen, kan smem også vise en fargekodet paj og / eller strekdiagram. Med smem kan du enkelt visualisere minnebruk på ditt Linux-system.

Installasjon

På Debian- og Ubuntu-systemer kan smem installeres fra repositoriene med kommandoen

 sudo apt-get install smem 

Kontroller minnebruk

Kjører smem som en ubehøvlet bruker vil vise minnet som brukes av alle prosesser lansert med den nåværende bruker-IDen, bestilt av PSS fra minst til de fleste.

 SMEM 

Som standard er det syv kolonner, prosess-ID, brukernavn, kommandoen som brukes til å starte prosessen, mengden av bytteplass som er tildelt prosessen, og USS, PSS og RSS.

RSS

RSS (Residensettstørrelse) er det totale minnet i RAM for en prosess. Dette inkluderer minnet som er allokert til delte biblioteker som brukes av prosessen, selv om delte biblioteker kan brukes av flere prosesser, mens de bare lastes inn én gang i minnet. RSS er derfor ikke en nøyaktig representasjon av minnet som brukes av en gitt prosess.

PSS

PSS (Proportional set size), derimot, deler minnet tildelt til et delt bibliotek blant prosessene som bruker det. Derfor, hvis tre prosesser bruker et delt bibliotek med seksti sider, vil biblioteket bidra med tjue sider til PSS for hver av prosessene. Den totale PSS er vanligvis omtrent lik den totale RAM for systemet. Men når en prosess som deler et bibliotek, blir drept, er PSS-meldingen for prosessen ikke lik den totale minnet frigjort.

USS

USS (Unique set size) refererer til det totale unike minnet for en prosess. Dette inkluderer ikke minne fra delte biblioteker. Når en prosess blir drept, refererer USS til det faktiske minnet som ville bli frigjort. Som et resultat er USS verdien å se på hvis du mistenker at en prosess har minnelekkasje.

Kjører smem som rot viser alle prosesser for alle brukere på systemet.

 sudo smem 

Visualiser minnebruk

En visualisert rapport er nesten sikkert enklere å lese enn tekstbaserte resultater. Ved hjelp av smem kan du vise minnebruken som enten et kakediagram eller et strekdiagram.

Hvis du vil vise et linjediagram for PSS, kjører USS og RSS av den nåværende brukerens prosesser følgende kommando:

 smem - bar navn -c "pss uss rss" 

Husk at PSS er en nærmere refleksjon av det totale minnet som er tilgjengelig på systemet. For å se et kakediagram over dette, bruk følgende kommando:

 smem - navn 

For å se et kakediagram over RSS merket etter navn:

 smem - navn - rss 

Ved hjelp av smem kan du enkelt se minnet som brukes av programmer og prosesser på systemet ditt, med et hjelpsomt fargekodet kakediagram eller strekdiagram. Som det er sagt, er et bilde verdt tusen ord. Det ser ut til at smem-utviklerne er enige.