Linux erbjuder ett antal verktyg för att undersöka dina löpande processer. Med de program som visas nedan kan du ta reda på vilka applikationer som äter hela ditt minne och vilka filer som är kopplade till de skurna programmen. Eller du kan bara få en global bild av hur ditt system fungerar.

Oavsett din specifika intresse, kommer denna handledning att erbjuda dig en startpunkt på den resan.

1. topp

Kanske är den mest kända tjänsten / processhanteraren i Linux-verktygssatsen toppen. Dess namn är en akronym för "Table of Processes." Linux-versionen (andra har skrivits för Unix, Solaris, etc.) är värd med procps-paketet, en samling verktyg som du kan ta tag i länken ovan.

Du kan se på den här skärmdumpen som toppen ger en hel del information på en gång. Överst på skärmen kan du se hur länge datorn har kört, dess nuvarande CPU-användning och aktuell minnesanvändning. Dessa värden gäller hela systemet - inte bara de enskilda programmen som visas nedanför texten.

Däremot kan du se enskild CPU och minnesanvändning för olika körprocesser i huvuddelen av skärmen. Skärmbilden här visar bara de tjänster som "root" -användaren kör, och "systemd" kommer in först eftersom konsumenten använder mest minne på bara 0, 3 procent.

Du kan springa överst i kommandoraden med bara top att skriva in en interaktiv avläsning av alla körprocesser för alla användare. Running top U user kommer att ange samma typ av miljö, men det kommer att visa processerna för den specifika användaren.

Du kan också pidof process att köra pidof process för att mata in den där top -p pid till topp med top -p pid . Till exempel, pid firefox på den här maskinen returnerar "2886", så springande top -p 2886 visar bara processens information på skärmen.

2. iotop

Några verktyg försöker pare ner vad toppen erbjuder. Ett sådant program, iotop, gör just det. Dess produktion, som du kan se här, är mycket enklare än toppens floder.

Iotop avslöjar inmatning / utmatning av en körprocess. Överst på skärmen visar den diskläsning och diskskrivning, i byte, innan man avslöjar ID för varje process och individen läser, skriver och I / O de konsumerar.

Du kan, som i topp, välja iotops utgång genom att ange parametrar som iotop -p pid att övervaka en enda process eller iotop -u user att övervaka en enskild användares körprocesser.

3. Monit

Från början försöker Monit vara mer specifik men ändå lätt att använda. Den körs som en demon och följer processer och tjänster som du anger i sin konfigurationsfil.

Att starta deamonen från kommandoraden ser inte ut som mycket.

För att få ut mesta möjliga av Monits möjligheter är det en bra metod att göra det möjligt för Monit att springa från starten. Med systemd systemctl enable monit kommandot den uppgiften.

Du kan sedan redigera Monits konfigurationsfil (som finns i "/ etc / monitrc") för att följa och ändra specifika processer från den andra som de börjar köra. Kolla in det här alternativet i config-filen nedan.

Även om raderna kommenteras kan du se att denna serie kommandon skulle följa Apache-processen, starta eller stoppa om det behövs, och skapa varningar när något går fel. Konfigureringsfilen är avsedd att vara lätt att läsa och redigera; det använder nyckelord som "start", "if", "då" och "inom" för att slutföra uppgifter.

Relaterat : Vad är GREP på Linux och hur använder du det?

4. lsof

Om du är nyfiken på vilka filer en process har öppnat när den körs, använd lsof. lsof kommandot lsof kommer du som standard att lista alla filer som öppnas av varje process som körs på systemet. Därför kan det vara användbart att vara mer specifik med din fråga.

Du kan gräva i det specifika namnet på en körprocess, till exempel Firefox, genom att leda lsofs utdata till grep, som söker efter en sträng du anger.

Så om du vill ta reda på om Firefox kör ett FLAC-ljudbibliotek, skulle ett kommando som följande vara användbart:

 lsof | grep firefox | grep -i libflac 

Det minskar produktionen från tusentals linjer till ungefär tjugo.

En version av det här kommandot ger följande.

Vad du kan replikera här körs först med lsof, sedan söker du efter "firefox" som en sträng i lsofs utdata och söker sedan igenom de här raderna med "firefox" i dem för strängen "libflac." Grep använder -i flaggan i det sista kommando att ignorera versaler och lowercase i sökningen.

Det slutgiltiga kommandot grep -i gdbus används här för att ge ett enstaka exempel. Det väljar godtyckligt den ena raden av produktionen som visar "gdbus" som uppgiftskommandot lsof identifierat.

Lsof visar kommandot som är associerat med en körprocess, dess process ID, uppgiftskommandot som är associerat med filen processen körs och namnet på filen som är kopplad till körprocessen, förutom några andra data.

5. ps_mem

Den enklaste applikationen i den här listan, ps_mem, listar minnesanvändningen av köra processer på ett system. En torr körning av ps_mem i kommandoraden kommer att avslöja en lista över alla pågående processer och deras individuella minneskonsumtion.

För att undersöka en viss process kan du lista sitt ID - kom ihåg att använda pidof process att få den informationen - i ps_mem -p process . Kolla in denna produkt för referens:

Ps_mem är användbart om du har ett program du tycker använder för mycket minne. Du kan använda den som ett fristående verktyg eller i samverkan med andra för att verifiera deras resultat.

Slutsats

Låt inte programmen på din dator gå på vilse. Håll dem i kontroll med en snabb titt på toppen, iotop eller ps_mem, och undersök vidare med Monit och lsof.

Det här är kraftfulla verktyg som har många fler alternativ tillgängliga på sina man pages, så var noga med att läsa deras dokumentation när du undersöker en besvärlig fråga.

Bildkredit: Xfce till räddningen!