Systemovervågning

From KDE UserBase Wiki
Revision as of 05:07, 30 March 2011 by Claus chr (talk | contribs) (Importing a new version from external source)

Introduktion

Systemovervågning minder om Microsoft Windows' Task Manager, Apple Mac OS X's Activity Monitor og Gnomes System Monitor. Den dukker op, når du taster Ctrl + Esc eller klikker på Systemovervågnings ikon,, til venstre i et KRunner-vindue ((Alt + F2)).

Den viser en liste med de processer, som kører på maskinen sammen med deres forbrug af CPU og hukommelse samt anden information.



Generelle tips

Næsten alle elementer i vinduet viser et tooltip, som giver mere detaljeret information, når du lader musen svæve over det og når du klikker på ikonet, så aktiveres "Hvad Er Det"-funktionen, som forklarer hvad informationen betyder.

Hvis du fx lader musen svæve over CPU-forbruget for en proces, så ser du forskellige andre informationer herunder den samlede tid, som processen har kørt.



Hvorfor kører mit system langsomt nu?

Et system kan køre usædvanligt langsomt, hvis en applikation (et program) bruger hele computerens regnekraft eller al dens hukommelse.

Som standard bliver de af den aktuelle brugers processer, som bruger mest CPU eller hukommelse vist øverst i listen. Det betyder, at processer, som ikke opfører sig som de skal findes nær toppen og er lette at se. For eksempel:



I dette eksempel svarer Firefox ikke længere og bruger 99% af CPU'en. For at afslutte en proces fremhæver du den ved at klikke på den og trykker så på knappen Dræb proces.... Dette vil sende programmet en venlig forespørgsel om at afslutte.

Jeg kan ikke dræbe den - den vil bare ikke dø!

Det er heldigvis ret sjældent, men du kan komme ud for dette. En proces på afveje kan finde på at ignorere din forespørgsel om at afslutte. I så fald må du tvinge processen til at afslutte umiddelbart. Det kan betyde, at dokumenter, som er åbne i programmet ikke bliver afsluttede ordentligt. For at gøre dette højreklikker du på processen og vælger Send signal -> Dræb (KILL).

Nogle gange er selv dette ikke nok til at dræbe en proces eller muligheden vil slet ikke blive givet. Dette kan for eksempel ske i vuze med visse kerner. Hvis processen eller en af dens tråde bliver fanget af en fejl i kernen, så kan den ende med at hænge fast i forsøget på at udføre en kerneoperation og blive fuldstændig udræbbar. Ofte er der ingen anden løsning end at genstarte maskinen.

Zombie-processer

Processer som er i en zombie-tilstand er allerede døde og kan således ikke dræbes. Systemet holder dem tilbage indtil deres forældre-proces bemærker det, hvilket normalt ikke tager ret lang tid. Ser du en zombie-proces, så er det i reglen et tegn på, at forældre-processen ikke længere svarer.

Dræb et bestemt vindue

Hvis du ønsker at dræbe et bestemt vindue, som er frosset, så taster du simpelt hen Ctrl + Alt + Esc. Musemarkøren skulle så ændres til et dødningehoved. Klik nu på det vindue, som du vil dræbe. Bemærk, at det vil dræbe applikationen med det samme og du risikerer at miste data, som ikke er gemt.

Hvad er forskellen mellem hukommelse og delt hukommelse?

Søjlen Hukommelse viser den omtrentlige mængde RAM, som processen selv bruger privat. Søjlen Delt hukommelse viser omterent hvor meget RAM, som kan deles med andre programmer. For eksempel bruges KDE's biblioteker af alle KDE's programmer, så de læses kun ind i hukommelsen en gang.

Fra KDE SC 4.4 kan du højreklikke på en proces for at få vist Detaljeret hukommelsesinformation for at få en mere detaljeret visning.

Teknisk information

Søjlen Hukommelse viser værdien af VmRSS - Delt, som almindeligvis er mindre end værdien, der vises af top etc. Dette inkluderer ikke "memory backed I/O pages" eller hukommelse, som x-serveren bruger til at lagre pixmaps, som bruges af programmet. Denne værdi kaldes ofte "Unique RSS" størrelsen eller URSS. Dette er en tilnærmelse til den værdi, der vises som privat hukommelsesbrug i Detaljeret hukommelsesinformation.

Den delte hukommelse er det samme som søjlen SHR i top og kan være noget unøjagtig. Dette er en tilnærmelse til den værdi, der vises som i Detaljeret hukommelsesinformation.

Mere præcist, så fortolker proceslisten /proc/pid/stat, mens Detaljeret hukommelsesinformation fortolker /proc/pid/smaps.

Hvordan får jeg vist mere detaljeret information om en proces' hukommelsesforbrug?

Fra KDE SC 4.4 vil du kunne vælge en proce i listen, højreklikke på den og vælge Detaljeret hukommelsesinformation for at få vist noget i retning af:



Hvorfor passer værdierne i den detaljerede visning ikke med proceslisten?

Systemovervågnings procesliste bruger en tilnærmelse til at indsamle værdierne. Detaljeret hukommelsesinformation giver mere nøjagtige værdier.

Hvorfor bruger processen 'Xorg' så meget hukommelse?

Den proces viser alt, hvad du ser på skærmen. Dens hukommelse inkluderer al hukommelsen, som bruges på video-kortet til at lagre pixmaps (billeder) fra applikationerne.

Almindeligvis behøver du ikke at bekymre dig om Xorgs hukommelsesforbrug.

Hvordan ser jeg en proces' PID?

Hvis du vil se PID'en for en enkelt proces, så lad musen svæve over processens navn. PID'en vil så blive vist i tooltippet.

Hvis du vil se PID'en for alle processer, så højreklikker på en vilkårlig søjletitel; du vil så se menuen:


Vælg Vis kolonnen 'PID'


Kan Systemovervågning vise harddiskens I/O-forbrug ligesom iotop?

Højreklik på søjleoverskrifterne og vælg Vis kolonne "IO læst" og vælg på samme måde Vis kolonne "IO skrevet". Nu blive mængden af data, som sendes til eller fra harddisken vist.

Ved at højreklikke på søjleoverskriften kan du vælge om du vil se den faktiske mængde data, der læses eller skrives fra harddisken (standard) eller hvor mange data programmet sender til eller forespøger fra en fil.

Dataforespørgsler og de data, som faktisk læses er ikke ækvivalente - hvis for eksempel to programmer læser fra den samme fil, så behøver operativsystemet ikke at læse to gange fra harddisken - det kan nøjes med at læse én gang og huske resultatet et kort øjeblik. Hvis tilsvarende en proces skriver til en fil, men en anden proces overskriver den samme fil, så er der ingen grund til faktisk at skrive den første version af filen til harddisken.


Hvorfor vises nogle processer med gråt?

For eksempel processen xclock:



Det betyder, at processen allerede er død. Den er med af praktiske grunde, sådan at du kan se, hvilke processer der er afsluttet. Værdierne for forbrug af CPU, hukommelse osv er værdierne fra dengang processen sidst var i live. En proces, som er afsluttet optager ingen ressourcer (den bruger ikke CPU, hukommelse osv.). \

Hvad er alle de processer, som ejes af root, og som ikke optager nogle ressourcer?

Det er tråde, som hører til kernen. De eksisterer kun inde i kernen og har til formål at lade kernen udføre flere opgaver parallelt.

De vises, fordi de undertiden kan belaste CPU'en meget. For eksempel kan et netværkskort under stor belastning og med en dårlig driver producere et enormt antal interrupts, hvilket resulterer i en stor belastning af CPU'en i kernetråden ksoftirqd.

På samme måde kan en stor belastning i kjournald indikere, at harddisken ikke har fået DMA-overførsel muliggjort.

Hvorfor har jeg så mange processer?

En almindelig gennemsnits-brugers system har omkring 150 til 200 processer med mærkeligt klingende navne. Det ville være rart at have en wiki-side med en kort beskrivelse af hver af disse processer, men indtil nu har ingen lavet sådan en.

Hvorfor vises OpenOffice ikke som et grafisk program?

Før version 3.3 implementerede OpenOffice.org ikke vinduesstandarden korrekt. Specifikt satte deres vinduer ikke _NET_WM_PID til at linke deres vinduer til processen. Dette er rettet nu i OpenOffice.org 3.3.

Hvorfor dukker gvim på mystisk vio op som et grafisk program?

Det er en fejl i programmet GVim. GVim implementerer ikke vinduesstandarderne korrekt. Mere præcist, under opstarten udspalter den en ny proces for at undgå at blokere den skal, som den blev startet fra; men dette sætter egenskaben _NET_WIN_PID til den forrige PID. Programmets forfattere er blevet gjort opmærksom på problemet, men har ikke rettet det endnu.