Atmiņa

Kā pārbaudīt atmiņas lietojumu vienā operētājsistēmā Linux

Kā pārbaudīt atmiņas lietojumu vienā operētājsistēmā Linux
Mūsdienās dators vienlaikus var palaist daudzas programmas. Procesoram nav problēmu apstrādāt visas šīs programmas, jo CPU ir vairāki kodoli, lai veiktu daudzuzdevumus.

Katra no šīm programmām darbojas kā viens vai vairāki procesi. Katrs process sev piešķir noteiktu daudzumu RAM vai atmiņas. Ir svarīgi, lai process darbotos pareizi. Ja process nespēj piešķirt pietiekami daudz RAM vai atmiņas, procesu nevar izveidot un programmu nevarēs sākt.

Tātad, viens no galvenajiem uzdevumiem, ko veicat savā datorā, ir pārbaudīt, cik daudz atmiņas vai operatīvās atmiņas (brīvpiekļuves atmiņa) katrs process izmanto. Tā kā RAM vai datora atmiņa ir ierobežota.

Iedomājieties gadījumu, kad vēlaties palaist kādu programmu un tas neizdodas, jo jums nav pietiekami daudz atmiņas. Daži procesi var izmantot daudz atmiņas, kas jums šobrīd nav vajadzīga. Jūs varat nogalināt vai apturēt šos procesus, lai atbrīvotu RAM vai atmiņu, lai varētu startēt svarīgās programmas.

Šajā rakstā es jums parādīšu, kā pārbaudīt katra no jūsu Linux datorā darbojošos procesu atmiņas izmantošanu. Visā šī raksta demonstrācijā es izmantošu Debian 9 Stretch. Bet tam vajadzētu darboties visos mūsdienu Linux izplatījumos. Sāksim.

Atmiņas izmantošanas pārbaude, izmantojot ps komandu:

Jūs varat izmantot ps komandu, lai pārbaudītu visu operētājsistēmas Linux atmiņas lietojumu. Šajā procedūrā ir viena problēma. ps patiesībā neparādiet, cik daudz atmiņas process izmanto KB vai MB formātā, bet tas parādīs, cik daudz atmiņas tiek izmantots procentos.

Atmiņas lietojumu (procentos) varat pārbaudīt visā Linux operētājsistēmā ar šādu komandu:

$ ps -o pid, lietotājs,% mem, komandu cirvis | kārtot -b -k3 -r

Kā redzat, visi procesi ar atmiņas lietojumu procentos ir norādīti dilstošā secībā (vispirms tiek uzskaitīti procesi, kas izmanto lielāko daļu atmiņas).

Procesu atmiņas izmantošanas pārbaude ar pmap:

Procesa vai procesu kopas atmiņu var pārbaudīt cilvēkiem lasāmā formātā (KB vai kilobaitos), izmantojot pmap komandu. Viss, kas jums nepieciešams, ir to procesu PID, kuriem vēlaties pārbaudīt atmiņas izmantošanu.

Pieņemsim, ka vēlaties pārbaudīt, cik daudz atmiņas izmanto process ar PID 917. Lai to izdarītu, palaidiet pmap sekojoši:

$ sudo pmap 917

Kā redzat, procesa 917 kopējā atmiņa ir 516104 KB vai kilobaiti. Šeit varat arī redzēt, cik daudz atmiņas izmanto bibliotēkas un citi faili, kas nepieciešami procesa izpildei ar PID 917.

Ja jums nav svarīgi, cik daudz atmiņas izmanto bibliotēkas vai citi atkarīgie faili, palaidiet pmap sekojoši:

$ sudo pmap 917 | astes-n 1

Kā redzat, uz ekrāna tiek drukāta tikai kopējā atmiņa, kuru izmantoja process ar PID 917.

Ja vēlaties, varat to vēl filtrēt, izmantojot awk un iegūstiet tikai lielumu KB vai kilobaitos. Lai to izdarītu, palaidiet pmap sekojoši:

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

Kā redzat, tiek drukāts tikai atmiņas lietojums KB vai kilobaitos.

Tagad jūs varat arī uzskaitīt, cik daudz atmiņas izmanto vairāki procesi, izmantojot to PID pmap sekojoši:

$ sudo pmap 917 531 | grep kopā

PIEZĪME: Šeit 917 un 531 ir procesa ID vai PID. Šādā veidā varat ievietot tik daudz PID, cik vēlaties.

Programmas pmap izmantošana visu procesu atmiņas izmantošanas uzskaitīšanai kilobaitos:

Šajā sadaļā es jums parādīšu, kā rakstīt savu čaulas skriptu, lai uzskaitītu visu jūsu Linux operētājsistēmā esošo procesu atmiņas lietojumu cilvēkiem lasāmā formātā (kilobaiti vai KB).

Vispirms izveidojiet jaunu failu sistons pašreizējā darba direktorijā ar šādu komandu:

$ touch sysmon

Tagad izveidojiet failu izpildāmu ar šādu komandu:

$ chmod + x sysmon

sistons ir čaulas skripts, kas parādīs visus darbojošos procesus PID, ĪPAŠNIEKS, ATMIŅA (KB dilstošā secībā) un KOMANDA. Sāksim.

Atveriet sistons skriptu ar jūsu iecienītāko teksta redaktoru, es to izmantoju Keita.

Tagad man dos pirmo komandu, kuru es izpildīšu PID, ĪPAŠNIEKS un KOMANDA no visiem darbības procesiem, kas atdalīti ar kolu (:) simbolu, un saglabājiet to mapē RAWIN mainīgais. Pēc tam veiciet izvadi un izdrukājiet to uz ekrāna.

Kā redzat, es saņemu pareizu rezultātu.

Tagad ir pienācis laiks apstrādāt katru rindu, uzglabāt kolu norobežotu informāciju atsevišķos mainīgajos. To es izdarīju 7., 8. un 9. līnijā.

Kā redzat, es varu izdrukāt PID, ĪPAŠNIEKS un KOMANDA tagad savā formātā.

Tagad ir pienācis laiks iegūt katra PID atmiņas lietojumu. 10. rinda tieši to dara.

Kā redzat, viss darbojas nevainojami. Tagad arī katra procesa atmiņas lietojumu varu izdrukāt kilobaitos (KB).

Tagad atliek tikai formatēt izvadi, lai tas izskatītos jauki. Es dodu priekšroku tabulas formātam. 5. rinda izdrukā katras tabulas kolonnas galveni.

Visbeidzot, es drukāju PID, ĪPAŠNIEKS, ATMIŅA (KB) un KOMANDA katra procesa tabulas formātā, izmantojot 14. rindiņu.

Kā redzat, tas darbojas diezgan labi. Tomēr ir neliela problēma, jo procesi nav pareizi sakārtoti dilstošā secībā pēc atmiņas izmantošanas.

Lai to labotu, es noņēmu kārtot -bnr -k3 no 3. rindas un visu ietina čaulas funkcijā sysmon_main (). Tad atstāja šķirošanas darbu uz kārtot komandu.

Galīgais čaulas skripts izskatās apmēram šādi:

Kā redzat, tas darbojas lieliski.

Tagad jūs varat pārvietot to uz kaut kur / usr / bin un izpildiet to tāpat kā citas komandas šādi:

$ sudo mv -v sysmon / usr / bin

Izpilda sistons:

Paldies, ka izlasījāt šo rakstu.

Kā mainīt peles un skārienpaliktņu ritināšanas virzienu operētājsistēmā Windows 10
Pele un SkārienpaliktnisTas ne tikai padara skaitļošanu vienkāršu, bet arī efektīvāku un mazāk laikietilpīgu. Mēs nevaram iedomāties dzīvi bez šīm ier...
Kā mainīt peles rādītāja un kursora izmēru, krāsu un shēmu operētājsistēmā Windows 10
Peles rādītājs un kursors operētājsistēmā Windows 10 ir ļoti svarīgi operētājsistēmas aspekti. To var teikt arī par citām operētājsistēmām, tāpēc pati...
Bezmaksas un atvērtā koda spēļu dzinēji Linux spēļu izstrādei
Šis raksts aptvers bezmaksas un atvērtā koda spēļu motoru sarakstu, kurus var izmantot, lai izstrādātu 2D un 3D spēles Linux. Šādu spēļu dzinēju ir da...