Hukommelse

Sådan kontrolleres hukommelsesforbrug pr. Proces på Linux

Sådan kontrolleres hukommelsesforbrug pr. Proces på Linux
I disse dage kan en computer køre mange programmer på én gang. CPU'en har ikke noget problem med at håndtere alle disse programmer, fordi CPU'er har flere kerner til håndtering af multi-tasking.

Hvert af disse programmer kører som en eller flere processer. Hver proces tildeler en vis mængde RAM eller hukommelse til sig selv. Det er vigtigt, at processen fungerer korrekt. Hvis en proces ikke tildeler nok RAM eller hukommelse, kan processen ikke oprettes, og programmet kan ikke starte.

Så en af ​​de grundlæggende opgaver, du udfører på din computer, er at kontrollere, hvor meget hukommelse eller RAM (Random Access Memory) hver proces bruger. Fordi RAM eller hukommelse på din computer er begrænset.

Forestil dig en sag, hvor du vil køre et program, og det mislykkes, fordi du ikke har nok hukommelse. Kan være nogle af processerne bruger meget hukommelse, som du ikke har brug for lige nu. Du kan dræbe eller stoppe disse processer for at frigøre RAM eller hukommelse, så du kan starte dine vigtige programmer.

I denne artikel vil jeg vise dig, hvordan du kontrollerer hukommelsesforbrug af hver af de processer, der kører på din Linux-maskine. Jeg bruger Debian 9 Stretch til al demonstration i denne artikel. Men det skal fungere på enhver moderne Linux-distribution. Lad os komme igang.

Kontrol af hukommelsesbrug ved hjælp af ps-kommando:

Du kan bruge ps kommando til at kontrollere hukommelsesforbrug af alle processer på Linux. Der er et problem med denne procedure. ps viser dig ikke rigtig, hvor meget hukommelse en proces bruger i KB- eller MB-format, men det viser dig, hvor meget hukommelse der bruges i procent.

Du kan kontrollere hukommelsesforbrug (i procent) af al den proces, der kører på dit Linux-operativsystem med følgende kommando:

$ ps -o pid, bruger,% mem, kommandoaks | sorter -b -k3 -r

Som du kan se, vises alle processer med hukommelsesforbrug i procent i faldende rækkefølge (Processerne, der bruger det meste af hukommelsen, vises først).

Kontrol af hukommelsesforbrug af processer med pmap:

Du kan kontrollere hukommelsen til en proces eller et sæt processer i læsbart format (i KB eller kilobyte) med pmap kommando. Alt hvad du behøver er PID for de processer, du vil kontrollere hukommelsesforbruget af.

Lad os sige, at du vil kontrollere, hvor meget hukommelse processen med PID 917 bruger. For at gøre det skal du løbe pmap som følger:

$ sudo pmap 917

Som du kan se, er den samlede hukommelse, der bruges af processen 917, 516104 KB eller kilobyte. Du kan også se, hvor meget hukommelse bibliotekerne og andre filer, der kræves for at køre processen med PID 917, også bruger her.

Hvis du ikke er ligeglad med, hvor meget hukommelse bibliotekerne eller andre afhængige filer bruger, skal du køre pmap som følger:

$ sudo pmap 917 | hale -n 1

Som du kan se, er kun den samlede hukommelse, der bruges af processen med PID 917, udskrevet på skærmen.

Hvis du vil, kan du filtrere dette yderligere med akavet og få kun størrelsen i KB eller kilobytes. For at gøre det skal du løbe pmap som følger:

$ sudo pmap 917 | hale -n 1 | awk '/ [0-9] K / print $ 2'

Som du kan se, udskrives kun hukommelsesforbruget i KB eller kilobytes.

Nu kan du også angive, hvor meget hukommelse der bruges af flere processer ved hjælp af deres PID'er med pmap som følger:

$ sudo pmap 917 531 | grep i alt

BEMÆRK: Her er 917 og 531 proces-id'er eller PID'er. Du kan placere så mange PID'er som du vil på denne måde.

Brug af pmap til at liste hukommelsesforbrug af alle processer i kilobyte:

I dette afsnit vil jeg vise dig, hvordan du skriver dit eget shell-script for at liste hukommelsesforbrug af alle de processer, der kører på dit Linux-operativsystem i læsbart format (kilobytes eller KB).

Opret først en ny fil sysmon i din nuværende arbejdsmappe med følgende kommando:

$ touch sysmon

Gør nu filen eksekverbar med følgende kommando:

$ chmod + x sysmon

sysmon er shell-scriptet, der viser alle kørende processer PID, EJER, HUKOMMELSE (i KB i faldende rækkefølge) og KOMMANDO. Lad os begynde.

Åbn sysmon script med din yndlings teksteditor, skal jeg bruge Kate.

Nu vil den første kommando, jeg skal køre, give mig den PID, EJER og KOMMANDO af alle kørende processer adskilt af kolon (:) symbol og gem det i RAWIN variabel. Løft derefter output og udskriv det på skærmen.

Som du kan se, får jeg den korrekte output.

Nu er det tid til at behandle hver linje, gemme kolonens afgrænsede oplysninger i separate variabler. Det var hvad jeg gjorde på linje 7, 8 og 9.

Som du kan se, kan jeg udskrive PID, EJER og KOMMANDO i mit eget format nu.

Nu er det tid til at hente hukommelsesforbrug af hver PID. Linje 10 gør netop det.

Som du kan se, fungerer alt perfekt. Nu kan jeg også udskrive hukommelsesforbrug af hver proces i kilobyte (KB).

Nu er alt, hvad der er tilbage at gøre, at formatere output, så det ser godt ud. Jeg foretrækker tabelformat. Linje 5 udskriver overskriften på hver kolonne i tabellen.

Endelig trykte jeg PID, EJER, HUKOMMELSE (i KB) og KOMMANDO af hver proces i et tabelformat ved hjælp af linje 14.

Som du kan se, fungerer det ganske godt. Der er dog et lille problem, processerne sorteres ikke korrekt i faldende rækkefølge efter hukommelsesforbrug.

For at løse det fjernede jeg sorter -bnr -k3 fra linje 3 og pakket alt i en skalfunktion sysmon_main (). Derefter overlod jobbet med at sortere til sortere kommando.

Det endelige shell-script ser sådan ud:

Som du kan se, fungerer det godt.

Nu kan du flytte det til et sted som / usr / bin og udfør det ligesom andre kommandoer som følger:

$ sudo mv -v sysmon / usr / bin

Udfører sysmon:

Tak, fordi du læste denne artikel.

Mus Microsoft Sculpt Touch Wireless Mouse Review
Microsoft Sculpt Touch Wireless Mouse Review
Jeg har for nylig læst om Microsoft Sculpt Touch trådløs mus og besluttede at købe den. Efter at have brugt det et stykke tid besluttede jeg at dele m...
Mus AppyMouse pegefelt på skærmen og musemarkør til Windows-tablets
AppyMouse pegefelt på skærmen og musemarkør til Windows-tablets
Tabletbrugere savner ofte musemarkøren, især når de er vante til at bruge bærbare computere. Touchscreen-smartphones og tablets har mange fordele, og ...
Mus Midterste museknap fungerer ikke i Windows 10
Midterste museknap fungerer ikke i Windows 10
Det midterste museknap hjælper dig med at rulle gennem lange websider og skærme med en masse data. Hvis det stopper, vil du ende med at bruge tastatur...