# &ktimemon;

## Inledning

&ktimemon; är ett litet program för att hålla reda på datorns systemanvändning. Det kan visa stapeldiagram som innehåller information om användning av CPU, minne och växlingsminne, samt diskanvändning och processbytesaktivitet. Enligt andemeningen med KDE så stödjer det anpassning med ett grafiskt användargränssnitt. Det stödjer också dockning, dvs. det kan visa information i panelens systembricka.

För närvarande stödjer &ktimemon; bara ett begränsat antal system: &Linux;-baserade installationer med filsystemet `/proc`, &Solaris;-baserade installationer med biblioteket `kstat` och Digital &UNIX;-baserade (tidigare DEC/OSF1) installationer med systemanropet `table`(2). Hjälp med att överföra det till andra plattformar är mycket välkommen.

&ktimemon; kan startas från kommandoraden eller från &kde;:s start-meny (från undermenyn Verktyg). Om du väljer att starta det från kommandoraden, stöder &ktimemon; de vanliga &X-Window; programväljarna såsom `-geometry`. &ktimemon; hanterar sessioner, dvs. det håller reda på det aktuella tillståndet (färger, etc.) och återställer det vid användarens nästa session.

## Grundläggande skärmanvändning

Efter &ktimemon; har startats visas ett litet fönster som innehåller information insamlad från operativsystemet. Om du flyttar muspekaren över &ktimemon;s fönster och låter den stanna en kort tid, visas ett verktygstips (dvs. ett litet tillfälligt fönster). Verktygstips innehåller numerisk information om systemparametrarna som visas med staplarna. Verktygstips kan stängas av (se Anpassning).

### Visningslägen

&ktimemon; kan visa två olika uppsättningar systeminformation. Som förklaras i kapitlet Anpassning, kan musknappar bindas till olika åtgärder. Normalt används den vänstra musknappen för att byta läge, dvs. genom att klicka med vänster musknapp var som helst i &ktimemon;s fönster, byts informationen som visas från Normalläge (förvalt) till Utökat läge, och vice versa.

#### Normalläge

Efter du har startat &ktimemon; för första gången, visar det information om den aktuella CPU-användningen, samt användning av minne och växlingsutrymme. Tre staplar används för att visa den här informationen: de uppdateras regelbundet (normala mätintervallet är 0,5 s, men det kan ändras, se Anpassning). De tre staplarna representerar (från vänster till höger):

CPU-användning.

- &ktimemon; visar stapeln med tre olika färger, som anger CPU-tiden som tillbringas i olika lägen. Nerifrån och upp är de: kärnläge, användarläge och användarläge med lägre prioritet (snällhet). Eftersom &Solaris; inte verkar stödja statistik för snällhetsläge, anger övre delen av stapeln tiden som används i vänteläge på sådana system. Gapet mellan stapelns överdel och fönstrets överdel, anger procentandelen ledig CPU-tid.

Minnesanvändning.

- På samma sätt som CPU-användningsstapeln, består den här stapeln av tre fält, som anger (nerifrån och upp): Minne använt av processer, minne som används för att buffra I/O och minne som används som filcache. För system baserade på Digital &UNIX;, anger mittendelen inaktivt minne (dvs. minne som inte har använts under en viss tid), och för &Solaris;-baserade system används inte mittendelen, och den översta delen anger det minne som används av kärnan. Återigen anger gapet mellan stapelns överdel och fönstrets överdel ledigt minne.

Användning av växlingsminne.

- Den här stapeln består av ett enda fält som representerar den aktuella användningen av växlingsutrymme, relativt systemets totala mängd växlingsutrymme.

Att klicka med musknappen som är inställd för lägesbyte i &ktimemon;-fönstret byter till Utökat läge.

#### Utökat läge

I det här läget används de tre staplarna för att visa en annan uppsättning med systeminformation. Återigen från vänster till höger, visar de:

Sidbytesaktivitet.

- Den här stapeln består av två delar, där den nedre halvan visar antal minnessidor som skrivits till permanent lagringsutrymme under det senaste mätintervallet. På samma sätt anger den övre halvan antal sidor som lästs från permanent lagringsutrymme.

Växlingsminnesaktivitet.

- Den andra stapeln visar motsvarande information för växlingsminnesaktivitet.

Processbyten.

- Återigen, så består den här stapeln av ett enda fält som anger antalet processbyten under det senaste mätintervallet.

Eftersom det inte finns någon naturligt sätt att skala informationen som visas i Utökat läge, väljer &ktimemon; normalt automatisk skalning (som förklaras i avsnittet Vanliga frågor). Möjligheten att ange skalningsinformation finns i alla fall, se avsnittet Anpassning.

Observera att de två uppsättningarna med staplar delar samma färger, dvs. färginställningen för Normalläge används också för att visa information i Utökat läge (se också Anpassning om hur färgschemat ändras).

## Menystruktur

Normalt är höger musknapp inställd för åtgärden visa meny, dvs. att klicka med höger musknapp var som helst i &ktimemon;s fönster visar en meny, som beskrivs i de följande avsnitten.

### Inställningar...

Menyalternativet Inställningar... används för att visa inställningsdialogrutan. Inställningsalternativ beskrivs i avsnittet Anpassning.

### Dockad i panelen

Genom att välja menyalternativet Dockad i panelen, byter &ktimemon; mellan standardvisningen (dvs. ett normalt fönster) och tillståndet med visning i panelen, då &ktimemon;s fönster försvinner och en mindre version visas i systemets panel. Bortsett från storleksminskningen, beter sig panelversionen av &ktimemon; exakt likadant som sin storebror.

### Hjälp

&help.menu.documentation;

### Horisontella staplar

Genom att välja menyalternativet Horisontella staplar, byter &ktimemon; från vertikala staplar till horisontella och vice versa. Inte särskilt användbart, men det var lätt att implementera.

### Avsluta

Menyalternativet Avsluta, bli inte förvånad nu, används för att avsluta &ktimemon;. Det sparar det aktuella tillståndet (t ex färgschemat, fönsterstorlek, om programmet visas i panelen) och återställer det vid nästa uppstart.

Inställningsinformationen sparas i filen `$`HOME`/.kde/share/config/ktimemonrc`, där `$`HOME`` betyder användarens hemkatalog. Om den här filen tas bort, startar &ktimemon; med sitt förvalda läge vid nästa uppstart.

## Anpassning

&ktimemon; kan anpassas med en rättfram dialogruta (se också beskrivningen av Inställningsmenyn). På sidan Allmänt, kan mätintervallet samt skalningsinformation anges (se också beskrivningen av utökat läge). Om kryssrutan Automatisk skalning är markerad (automatisk skalning förklaras i avsnittet Vanliga frågor), kan inte skalfaktorerna redigeras, eftersom &ktimemon; avgör dem automatiskt.

Sidan Färger kan användas för att ändra färgerna på staplarna till individuella inställningar. Ett litet exempel på en stapel ger omedelbar återmatning.

På sidan Interaktion, kan musbindingar anpassas. Ett klick med en musknapp på &ktimemon;s fönster kan ignoreras, starta byte av läge (se också Lägen), visa den sammanhangsberoende menyn (se också Meny), eller köra en extern process. Kommandoraden som anges för externa processer tolkas av standardskalet, dvs. skalkommandon, miljövariabler, ändring av utmatning, etc. kan användas.

Sidan Interaktion innehåller också en kryssruta som kan användas för att stänga av automatisk visning av verktygstips med numerisk information om staplarna (titta också under Grundläggande skärmanvändning).

## Vanliga frågor och svar

Vilka operativsystem stödjer &ktimemon;?

&ktimemon; stödjer &Linux;-baserade system med filsystemet `/proc`, &Solaris;-baserade system med biblioteket `kstat`, och Digital &UNIX;-baserade (tidigare DEC/OSF1) system med systemanropet `table`(2). Endast &Linux;-versionen har testats utförligt. Om du råkar ut för några problem med versionerna för &Solaris;/Digital &UNIX;, tveka då inte att kontakta mig.

Bidrag till &ktimemon; för att anpassa det till andra plattformar är också mycket välkomna. Kontakta mig på m.maierhofer@tees.ac.uk om du har för avsikt att överföra &ktimemon; till andra varianter av &UNIX;.

Hur fungerar automatisk skalning?

Glad att du frågade. Eftersom det inte finns någon lämplig förutbestämd skalfaktor för sidbyte/växlingsaktivitet och processbyten (i motsats till t ex minnesanvändning, där man kan använda hela minnesstorleken som grundförutsättning), använder &ktimemon; en någorlunda intelligent (nåja, ...) mekanism för automatisk skalning. Automatisk skalning fungerar på följande sätt:

- Var och en av de tre staplarna som beskrivs i avsnittet utökat läge, har en motsvarande skalfaktor. De ursprungliga värdena för de här faktorerna är inställda till något förutbestämt värde.

- Varje gång ett nytt mätvärde visas, skalas varje värde med motsvarande faktor på försök. Om värdet kan visas med skalan som väljs av faktorn, sker ingen ändring (dvs. små ändringar i aktivitet visas genom att stapelns höjd ändras).

- Om det skalade värdet antingen är för litet eller för stort för att visas med den nuvarande skalfaktorn, justeras skalningen så att det nya värdet visas ungefär halvägs i stapeln. Därför bör efterföljande ändringar ha en god chans att visas relativt till det nuvarande värdet, utan att behöva ändra skala igen.

Varför visas en meddelanderuta med fick diagnostikutmatning från barnkommando?

Om du binder musknappen till ett externt kommando som beskrivs i kapitlet Anpassning, kontrollerar inte &ktimemon; att kommandot är giltigt. Istället startas ett skal för att köra kommandot, så att skalkommandon, miljövariabler och annat kan användas. För att tillåta viss återmatning till användaren, bevakar &ktimemon; `stderr`-utmatningen från kommandoskalet, och rapporterar det i den här meddelanderutan.

Även om den här metoden kan vara till hjälp om ett kommando inte hittas, kan det vara ganska irriterade om kommandot som körs skriver ut ofarlig diagnostikinformation på `stderr`. En enkel och elegant lösning på det här problemet är att lägga till `2>/dev/null` i slutet på specifikationen av kommandoraden. Det här skickar diagnostikmeddelanden till nirvana och förhindrar att meddelanderutan visas.

## Tack och erkännanden

&ktimemon; är baserad på en Xt-version av min bror.

Tack till Tobe Toben, ttoben@artis.uni-oldenburg.de, Cristian Tibirna ctibirna@gch.ulaval.ca, Dirk A. Mueller dmuell@rhrk.uni-kl.de, Mark Krischer krischem@amp.com, och Lubos Lunak l.lunak@sh.cvut.cz för felrapporter, programfixar, kommentarer och förslag.

Översättning Stefan Asserhäll stefan.asserhall@telia.com

&underGPL;