<chapter id="ktimemon">
<chapterinfo>

<title>&ktimemon;</title>

<authorgroup>
<author><firstname>Martin</firstname> <surname>Maierhofer</surname> <affiliation> <address><email>m.maierhofer@tees.ac.uk</email></address>
</affiliation>
</author>
&erik.kjaer.pedersen.role; 
</authorgroup>
<date>2001-11-29</date> <releaseinfo>0.03.01</releaseinfo> <abstract> <para>&ktimemon; er en systemovervågning for K-desktopmiljøet</para>
</abstract>
<keywordset>
<keyword>KDE</keyword>
<keyword>ktimemon</keyword>
<keyword>systemovervågning</keyword>
<keyword>timemon</keyword>
</keywordset>
</chapterinfo>

<title>Indledning</title>

<para>&ktimemon; er et lille program der holder øje med din computers system-forbrug. Det kan vise søjlegrafer der indeholder information om <acronym>CPU</acronym>-, hukommelses- og swapforbrug så vel som disk-brug og sammenhængsskift-aktivitet. I <ulink url="http://www.kde.org/">KDE</ulink>'s ånd understøtter den indstilling via en grafisk brugerflade. Den understøtter også <emphasis>dokning</emphasis>, &ie; den kan vise oplysningerne i panelets statusfelt.</para>

<note>
<para>For øjeblikket understøtter &ktimemon; kun et begrænset antal systemer: &Linux;-baserede installationer med <filename>/proc</filename>-filsystem, &Solaris;-baserede installationer med <filename>kstat</filename>-biblioteket og Digital &UNIX; (tidligere DEC/OSF1) baserede installationer med <command>table</command>(2) systemkald. Hjælp med overførsel til andre systemer er meget velkommen. </para>
</note>

<para>&ktimemon; kan startes fra kommandolinjen eller fra &kde;'s <guimenu>start</guimenu>-menu (i <guisubmenu>Værktøj</guisubmenu>-undermenuen). Hvis du vælger at starte fra kommandolinjen, vil &ktimemon; respektere de sædvanlige &X-Window; programflag såsom <option>-geometry</option>. &ktimemon; er <emphasis>sessionsfølsom</emphasis>, &ie; den holder øje med den aktuelle tilstand (farver &etc;) og genopretter dem i brugerens næste session. </para>

<sect1 id="fund">
<title>Fundamentale ting på skærmen</title>

<para>Efter at have startet &ktimemon; vil et lille vindue vise sig der giver oplysninger indsamlet fra operativsystemet. Hvis du flytter musen hen over &ktimemon;-vinduet og lader den hvile et lille stykke tid, vil et <emphasis>værktøjsvink</emphasis> (&ie; et lille midlertidigt vindue) vise sig. Værktøjsvinket indeholder numerisk information om systemparametre vist i søjlegrafer. Værktøjsvink kan deaktiveres (referér til <link linkend="config">Indstilling</link>). </para> 

<sect2 id="modes">
<title>Visningstilstande</title>

<para>&ktimemon; kan vise to forskellige sæt systeminformation. Som forklaret i <link linkend="config">Indstilling</link>-kapitlet, kan museknapper bindes til forskellige handlinger. Pr standard er venstre  museknap bundet til tilstandsskifte-handlingen, &ie; ved at klikke med &LMB; hvorsomhelst i &ktimemon;-vinduet, skifter den viste information fra <guilabel>Normal tilstand</guilabel> (standarden) til <guilabel>Udvidet tilstand</guilabel>, og omvendt. </para>

<sect3 id="normalmode">
<title>Normal tilstand</title>

<para>Efter at have startet &ktimemon; den første gang, vil den vise information om den aktuelle CPU-aktivitet, så vel som hukommelses- og swap-brug. Tre søjlegrafer bruges til at vise disse oplysninger; de opdateres regelmæssigt (standardintervallet er 0.5s, men det kan ændres, se <link linkend="config">Indstilling</link>). De tre søjlegrafer repræsenterer (fra venstre mod højre): <variablelist>
<varlistentry>
<term><acronym>CPU</acronym>-brug.</term>
<listitem>
<para>&ktimemon; viser søjlen i tre forskellige farver, repræsenterende <acronym>CPU</acronym>-tid tilbragt i forskellige tilstande. Fra neden og opad er de: kerne-tilstand, bruger-tilstand og bruger-tilstand med lavere prioritet (<emphasis>nice</emphasis>) - idet &Solaris; ikke synes at understøtte statistik for nice-tilstand, repræsenterer den øverste del af søjlen tid tilbragt i <emphasis>vente</emphasis>-tilstand på sådanne systemer. Mellemrummet fra toppen af søjlen til toppen af vinduet repræsentere procent <acronym>CPU</acronym>-tomgang.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Hukommelses-forbrug</term>
<listitem>
<para>Ligesom <acronym>CPU</acronym>-forbrug-søjlen, er denne søjle sammensat af tre underfelter, repræsenterende (nedefra og opad): hukommelse tildelt til processer, hukommelse brugt af I/O-buffere og hukommelse brugt til fil-cachning. For Digital &UNIX;-baserede systemer, repræsenterer det midterste afsnit <quote>inaktiv</quote> hukommelse (&ie; hukommelse der er tildelt men ikke har været brugt et stykke tid), og for &Solaris;-baserede systemer, bruges det midterste afsnit af søjlen ikke, og det øverste afsnit repræsenterer den mængde hukommelse der er brugt af kernen. Igen, mellemrummet fra toppen af søjlen til toppen af vinduet repræsenterer fri hukommelse.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Swap-forbrug.</term>
<listitem>
<para>Denne søjle består af et enkelt felt, der  repræsenterer det aktuelle swap-forbrug relativ til systemets totale mængde swap-plads. </para>
</listitem>
</varlistentry>
</variablelist>
</para>

<para>Klik på den museknap der er bundet til <quote>tilstandsskift</quote> i &ktimemon;-vinduet skifter til <quote>Udvidet tilstand</quote>.</para>

</sect3>

<sect3 id="xtndmode">
<title>Udvidet tilstand </title>

<para>I denne tilstand bruges de tre søjlegrafer til at vise et andet sæt systeminformation. Igen, fra venstre mod højre, viser de:</para>

<variablelist>
<varlistentry>
<term>Paging-aktivitet.</term>
<listitem>
<para>Denne søjle består af to dele, den nedre halvdel som viser antallet af hukommelsessider der er skrevet sekundær opbevaring til i det sidste eksempelinterval. Tilsvarende indikerer den øvre halvdel antallet af sider der er læst fra sekundær opbevaring.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Swap-aktivitet.</term>
<listitem>
<para>Den anden søjle  vise den analoge information for swap-aktivitet.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Sammenhængsskift.</term>
<listitem>
<para>Igen, denne søjlegraf består af et enkelt felt som indikerer antallet af sammenhængsskift i det sidste eksempelinterval.</para>
</listitem>
</varlistentry>
</variablelist>

<para>Idet der ingen <quote>naturlig</quote> måde er at skalere informationen vist i <quote>Udvidet tilstand</quote>, bruger &ktimemon; som standard <emphasis>autoskalering</emphasis> (forklaret i afsnittet <link linkend="autoscaling">'Hyppige spørgsmål'</link>). Der er imidlertid mulighed for at angive skaleringsinformation, se afsnittet <link linkend="config">Indstilling</link></para>

<para>Bemærk at de to sæt søjlegrafer deles om de samme farver, &ie; farveopsætningen for <quote>Normal tilstand</quote> også bruges til at vise oplysningerne i <quote>Udvidet tilstand</quote> (se også <link linkend="config">Indstilling</link> om hvordan man ændrer farvesammensætningen).</para>
</sect3>
</sect2>
  </sect1>

<sect1 id="menu">
<title>Menustruktur</title>

<para>Som standard er &RMB; bundet til <quote>menu popop</quote>-handlingen, &ie; klik med højre museknap hvorsomhelst i &ktimemon;-vinduet får en menu, som bliver diskuteret i de følgende afsnit. </para>

<sect2 id="config-menu">
<title><guimenuitem>Opsætning...</guimenuitem></title>

<para><guimenuitem>Opsætning...</guimenuitem>-menupunktet bruges til at få indstillingsdialogen frem. Indstillingsmulighederne diskuteres i afsnittet <link linkend="config">Indstilling</link>. </para> 
</sect2>

<sect2 id="docked-in-panel">
<title><guimenuitem>Dokket i panel</guimenuitem></title>

<para>Ved at vælge <guimenuitem>Dokket i panel</guimenuitem>-menupunktet, skifter &ktimemon; mellem sin standardvisning (&ie; et normalt vindue) og en tilstand i panelet, hvor &ktimemon;-vinduet forsvinder og en mindre udgave vises systempanelet. Bortset fra reduktionen i størrelse, opfører den <quote>paneliserede</quote> &ktimemon; sig nøjagtigt ligesom sin storebror. </para> 
</sect2>

<sect2 id="help">
<title><guimenu>Hjælp</guimenu></title> &help.menu.documentation; </sect2>

<sect2 id="horizontal-bars">
<title><guimenuitem>Vandrette linjer</guimenuitem></title>

<para>Ved at vælge <guimenuitem>Vandrette linjer</guimenuitem>-menu-indgangen, skifter &ktimemon; fra lodrette søjler til vandrette linjer og omvendt. Ikke særlig nyttigt, men det var nemt at implementere ;-) </para>
</sect2>

<sect2 id="quit">
<title><guimenuitem>Afslut</guimenuitem></title>

<para><guimenuitem>Afslut</guimenuitem>-menupunktet - overraskelse! -- bruges til at afslutte &ktimemon;. Det vil gemme den aktuelle tilstand (&eg; farvesammensætning, vinduesstørrelse, om den vises i panel eller ej) og genoprette denne tilstand næste gang den køres. </para>

<para>Indstillingsinformationen gemmes i filen <filename>$<envar>HOME</envar>/.trinity/share/config/ktimemonrc</filename>, hvor <filename class="directory">$<envar>HOME</envar></filename> refererer til brugerens hjemmemappe. Hvis denne fil slettes vil &ktimemon; starte i sin standard-tilstand næste gang den startes. </para> 
</sect2>
</sect1>

<sect1 id="config">
<title>Indstilling</title>

<para>&ktimemon; kan indstilles via en ligefrem dialog (se også diskussionen af <link linkend="config-menu">Indstillingsmenuen</link>). På <guilabel>Generel</guilabel>-siden, kan intervallet angives så vel som skaleringsinformation (se også diskussionen om <link linkend="xtndmode">udvidet tilstand</link>). Hvis <guilabel>Autoskalering</guilabel>-afkrydsningsfeltet er markeret (autoskalering forklares i afsnittet <link linkend="autoscaling">OSS</link>), kan skaleringsfaktorer ikke redigeres, idet &ktimemon; bestemmer dem automatisk. </para>

<para><guilabel>Farver</guilabel>-siden kan bruges til at skræddersy farverne på søjlegraferne efter individuel smag. En lille eksempel-søjlegraf giver tilbagemelding med det samme. </para>

<para>I <guilabel>Interaktion</guilabel>-siden kan musebindinger blive tilpassede. Klik med en museknap på &ktimemon;-vinduet kan ignoreres, udløse et tilstandsskift (se også <link linkend="modes">Tilstande</link>), starte sammenhængsmenuen (se også <link linkend="menu">Menu</link>), eller starte en ydre proces. Kommandolinjen angivet for eksterne processer fortolkes af standard-skallen, &ie; skal-kommandoer, miljøvariabler, omdirigering &etc; kan bruges.</para> 

<para><guilabel>Interaktion</guilabel>-siden indeholder også et afkrydsningsfelt som kan bruges til at deaktivere automatisk fremkomst af værktøjsvink med numerisk information om søjlegraferne (sammenligne med <link linkend="fund">Fundamentale ting på skærmen</link>).</para> 
</sect1>

<sect1 id="faq">
<title>Hyppige spørgsmål og svar </title>

<qandaset>
<qandaentry>
<question>
<para>Hvilke operativsystemer understøtter &ktimemon;?</para>
</question>
<answer>
<para>&ktimemon; understøtter &Linux;-baserede systemer med <filename class="devicefile">/proc</filename>-filsystemet, &Solaris;-baserede systemer med <filename>kstat</filename>-biblioteket, og Digital &UNIX; (tidligere DEC/OSF1)-systemer med <command>table</command>(2)-systemkald grænseflade. Kun &Linux;-udgaven er blevet grundigt testet, hvis du kommer ud for problemer med &Solaris;/Digital &UNIX;-overførslen af programmet, så tøv ikke med at kontakte mig. </para>

<para>Bidrag til at tilpasse &ktimemon; til andre platforme er yderst velkomne. Kontakt mig venligst på <email>m.maierhofer@tees.ac.uk</email> hvis du har til hensigt at overføre &ktimemon; til andre udgaver af &UNIX;. </para>
</answer>

</qandaentry>

<qandaentry id="autoscaling">
<question>
<para>Hvordan virker autoskalering? </para>
</question>
<answer>
<para>Glad for at du spurgte. Da der ikke er nogen rimelig prædetermineret skaleringsfaktor for paging/swapping-operationer og sammenhængsskift (i modsætning til &eg; hukommelsesforbrug, hvor du kan tage den totale hukommelsesstørrelse basislinje), bruger &ktimemon; en semi-intelligent (tjoh, ...) autoskaleringsmekanisme. Autoskalering virker sådan her: </para>

<itemizedlist>
<listitem>
<para>Hver af de tre søjlegrafer som beskrevet i afsnittet <link linkend="xtndmode">'udvidet tilstand'</link> har en tilknyttet skaleringsfaktor. Den oprindelige værdi af disse faktorer er sat til en eller anden prædetermineret værdi. </para> 
</listitem>
<listitem>
<para>Hver gang et nyt eksempel vises, bliver den tilsvarende værdi tentativt skaleret med den tilsvarende faktor. Hvis værdien kan vises på skalaen valgt med denne faktor, sker der ingen ændring (&ie; små ændringer i aktiviteten blive reflekteret ved en ændring af søjlens højde). </para>
</listitem>
<listitem>
<para>Hvis den skalerede værdi enten er for stor eller for lille til at blive vist med den nuværende skaleringsfaktor, justeres skaleringen så den nye værdi vises nogenlunde halvvejs oppe af søjlegrafen. Således skulle senere ændringer have en god chance for at kunne vises relativ til den aktuelle værdi, uden at skulle ændre skalaen igen. </para>
</listitem>
</itemizedlist>
</answer>
</qandaentry>

<qandaentry>
<question>
<para>Hvorfor kommer der et beskedfelt med <errorname>diagnostisk uddata fra afledt kommando</errorname> frem? </para>
</question>
<answer>
<para>Hvis du binder en museknap til en ekstern kommando som beskrevet i <link linkend="config">Indstilling</link>-kapitlet, tjekker &ktimemon; for et gyldigt kommandonavn. I stedet vil en kommando-skal blive startet til at køre udsagnet, så skal-kommandoernes miljøvariabler og mere kan bruges. For at tillade nogen tilbagemelding tilbrugeren, overvåger &ktimemon; <systemitem>stderr</systemitem>-uddata fra kommando-skallen og rapporterer den i dette beskedfelt. </para>

<para>Selvom denne metode kan hjælpe når en kommando ikke kan findes, kan den være ret irriterende hvis den kaldte kommando udskriver harmløs diagnostisk information på <systemitem>stderr</systemitem>. En simpel og elegant løsning på dette problem er at tilføje <userinput>2&gt;/dev/null</userinput> ved slutningen af kommando-specifikationen. Dette omdirigerer diagnostiske beskeder besked-nirvana, og forhindrer beskedfeltet i at komme frem hele tiden. </para>
</answer>
</qandaentry>

</qandaset>
</sect1>

<sect1 id="ktimemon-thanks-and-acknowledgements">
<title>Tak og anerkendelser</title>

<para>&ktimemon; er baseret på en Xt-udgave ved min broder.</para>

<para>Tak til Tobe Toben, <email>ttoben@artis.uni-oldenburg.de</email>, Cristian Tibirna <email>ctibirna@gch.ulaval.ca</email>, Dirk A. Mueller <email>dmuell@rhrk.uni-kl.de</email>, Mark Krischer <email>krischem@amp.com</email>, og Lubos Lunak <email>l.lunak@sh.cvut.cz</email> for fejlrapporter, patcher, kommentarer, forslag. </para>

&erik.kjaer.pedersen.credit; 
&underGPL; </sect1>
</chapter>
