Mälu

Kuidas kontrollida Linuxi mälukasutust protsessi kohta

Kuidas kontrollida Linuxi mälukasutust protsessi kohta
Tänapäeval saab arvuti käivitada paljusid programme korraga. Protsessoril pole kõigi nende programmide käsitsemisel probleeme, kuna protsessoritel on mitme ülesandega toimetulemiseks mitu südamikku.

Kõik need programmid töötavad ühe või mitme protsessina. Iga protsess eraldab enda jaoks mingi hulga RAM-i või mälu. Protsessi korrektseks toimimiseks on hädavajalik. Kui protsess ei suuda eraldada piisavalt RAM-i või mälu, siis ei saa seda protsessi luua ega programmi käivitada.

Nii et üks peamisi ülesandeid, mida oma arvutis teete, on kontrollida, kui palju mälu või RAM-i (muutmälu) protsessides kasutab. Kuna RAM või teie arvuti mälu on piiratud.

Kujutage ette juhtumit, kus soovite mõnda programmi käivitada ja see ebaõnnestub, kuna teil pole piisavalt mälu. Võib juhtuda, et mõned protsessid kasutavad palju mälu, mida te praegu ei vaja. RAM-i või mälu vabastamiseks võite need protsessid tappa või need peatada, et saaksite oma olulisi programme käivitada.

Selles artiklis näitan teile, kuidas kontrollida kõigi teie Linuxi masinas töötavate protsesside mälukasutust. Kasutan Debian 9 Stretchi kogu selle artikli tutvustamiseks. Kuid see peaks töötama kõigi kaasaegsete Linuxi distributsioonide puhul. Alustame.

Mälukasutuse kontrollimine käsu ps abil:

Võite kasutada ps käsk kõigi Linuxi protsesside mälukasutuse kontrollimiseks. Selle protseduuriga on üks probleem. ps ei näita teile tegelikult, kui palju mälu protsess KB või MB vormingus kasutab, kuid see näitab, kui palju mälu kasutatakse protsentides.

Kogu Linuxi operatsioonisüsteemis toimuva protsessi mälukasutust (protsentides) saate kontrollida järgmise käsuga:

$ ps -o pid, kasutaja,% mem, käsukirves | sort -b -k3 -r

Nagu näete, on kõik protsessid, mille mälukasutus on protsentides, loetletud kahanevas järjekorras (esimesena on loetletud protsessid, mis kasutavad suuremat osa mälust).

Protsesside mälukasutuse kontrollimine pmap-iga:

Protsessi või protsesside komplekti mälu saab lugeda inimloetavas vormingus (KB või kilobaitides) pmap käsk. Vaja on ainult nende protsesside PID, mille mälukasutust soovite kontrollida.

Oletame, et soovite kontrollida, kui palju mälu protsess PID 917-ga kasutab. Selleks jookse pmap järgnevalt:

$ sudo pmap 917

Nagu näete, on kogu protsessi 917 kasutatav mälumaht 516104 KB või kilobaiti. Siit saate ka vaadata, kui palju mälu kasutavad PID 917-ga protsessi käivitamiseks vajalikud teegid ja muud failid.

Kui te ei hooli sellest, kui palju mälu raamatukogud või muud sõltuvad failid kasutavad, siis käivitage pmap järgnevalt:

$ sudo pmap 917 | saba-n 1

Nagu näete, prinditakse ekraanile ainult kogu mälu, mida protsessor PID 917-ga kasutab.

Soovi korral saate seda veelgi filtreerida awk ja saada ainult suurus KB-des või kilobaitides. Selleks jookse pmap järgnevalt:

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

Nagu näete, trükitakse ainult mälukasutust KB-des või kilobaitides.

Nüüd saate ka loetleda, kui palju mälu kasutab mitu protsessi, kasutades nende PID-sid pmap järgnevalt:

$ sudo pmap 917 531 | grep kokku

MÄRGE: Siin on 917 ja 531 protsessi ID-d või PID-d. Sel viisil saate panna nii palju PID-sid kui soovite.

Pmap-i kasutamine kõigi protsesside mälukasutuse loetlemiseks kilobaitides:

Selles jaotises näitan teile, kuidas kirjutada oma shelliskript, et loetleda kõigi teie Linuxi operatsioonisüsteemis töötavate protsesside mälukasutus inimloetavas vormingus (kilobaiti või KB).

Kõigepealt tehke uus fail sysmon oma praeguses töökataloogis järgmise käsuga:

$ touch sysmon

Nüüd tehke fail järgmise käsuga käivitatavaks:

$ chmod + x sysmon

sysmon on shelliskript, mis kuvab kõik jooksvad protsessid PID, OMANIK, MÄLU (KB-des kahanevas järjekorras) ja KÄSU. Alustame.

Ava sysmon skripti teie lemmiktekstiredaktoriga, kavatsen seda kasutada Kate.

Nüüd annab esimese käsu, mille ma käivitan PID, OMANIK ja KÄSU kõigist käimasolevatest protsessidest, mis on eraldatud kooloniga (:) sümboliga, ja salvestage see RAWIN muutuv. Seejärel liigutage väljund läbi ja printige see ekraanile.

Nagu näete, saan õige väljundi.

Nüüd on aeg töödelda iga rida, salvestada kooloniga eraldatud teave eraldi muutujatesse. Seda ma tegin liinidel 7, 8 ja 9.

Nagu näete, saan printida PID, OMANIK ja KÄSU nüüd minu enda formaadis.

Nüüd on aeg hankida iga PID mälukasutus. 10. rida just seda teeb.

Nagu näete, töötab kõik suurepäraselt. Nüüd saan printida ka iga protsessi mälukasutuse kilobaitides (KB).

Nüüd jääb üle vaid vormindada väljund kena väljanägemisega. Eelistan tabelivormingut. Rida 5 prindib tabeli iga veeru päise.

Lõpuks printisin PID, OMANIK, MÄLU (KB-des) ja KÄSU iga protsessi kohta tabeli kujul, kasutades rida 14.

Nagu näete, töötab see üsna hästi. Pisut probleemi on siiski, protsessid ei ole mälukasutuse järgi kahanevas järjekorras õigesti sorteeritud.

Selle parandamiseks eemaldasin sort -bnr -k3 reast 3 ja mähkis kõik kestafunktsiooni sysmon_main (). Seejärel lahkus sortimise töö sorteerida käsk.

Lõplik shelliskript näeb välja umbes selline:

Nagu näete, töötab see suurepäraselt.

Nüüd saate selle teisaldada kuhugi / usr / bin ja täitke see täpselt nagu teised käsud järgmiselt:

$ sudo mv -v sysmon / usr / bin

Teostamine sysmon:

Täname selle artikli lugemise eest.

Parimad mängud, mida saab mängida käte jälgimisega
Oculus Quest tutvustas hiljuti suurepärast ideed käsitsi jälgimisest ilma kontrolleriteta. Üha suurema hulga mängude ja tegevustega, mis toetavad kas ...
Kuidas kuvada OSD ülekatet täisekraanil Linuxi rakendustes ja mängudes
Täisekraaniga mängude mängimine või rakenduste kasutamine häireteta täisekraanirežiimis võib teid paneelil või tegumiribal kuvatavast asjakohasest süs...
Viis parimat mängu püüdmise kaarti
Me kõik oleme YouTube'is voogesituse mänge näinud ja armastanud. PewDiePie, Jakesepticye ja Markiplier on vaid mõned tipptasemel mängijatest, kes on t...