&ktimemon; Martin Maierhofer
m.maierhofer@tees.ac.uk
&Niels.Reedijk;&Rinse.Devries;&Natalie.Koning;
2001-11-29 0.03.01 &ktimemon; is een systeemmonitor voor de K Desktop Environment KDE ktimemon systeemmonitor timemon
Inleiding &ktimemon; is een klein programma dat uw systeemgebruik bijhoudt. Het toont een balkgrafiek met informatie over CPU-, geheugen- en swap-gebruik, evenals harde-schijf-gebruik en context-wissel-activiteit. Net als alle andere &kde;-toepassingen kunt u het programma instellen via een grafische interface. Momenteel biedt &ktimemon; ondersteuning voor een beperkt aantal systemen: Op &Linux; gebaseerde installaties met het /proc-bestandssysteem, op &Solaris; gebaseerde installaties met de bibliotheek kstat en op Digital &UNIX; (voorheen DEC/OSF1) gebaseerde installaties met de systeemaanroep table(2). Hulp bij het overzetten naar andere platforms is meer dan welkom. U kunt &ktimemon; starten vanaf de commandoregel, of vanuit het &kde; startmenu, submenu Hulpmiddelen. De applet-versie kunt u starten door met uw rechter muisknop op het paneel te klikken, en in het contextmenu Paneelmenu Toevoegen Applet Systeemmonitor te kiezen. Bij het starten van de niet-applet-versie vanaf de commandoregel biedt &ktimemon; ondersteuning voor de gebruikelijke &X-Window;-programma-argumenten, zoals . &ktimemon; is sessie-bewust, het houdt dus de huidige status (kleuren, &enz;) bij en herstelt ze bij de volgende sessie. Basisbeginselen Na het starten van &ktimemon; verschijnt er een klein venster met informatie over uw besturingssysteem. Als u de muisaanwijzer enkele seconden op dit venster houdt, verschijnt er een tekstballon (dus een klein ballonvormig venstertje). De tekstballon bevat numerieke informatie over de parameters die getoond worden in de balkgrafiek. U kunt de tekstballon uitschakelen. Meer informatie kunt u vinden bij Configuratie. Weergavemodi &ktimemon; kan de systeeminformatie op twee manieren tonen. Zoals uitgelegd in het hoofdtuk Configuratie kunt u muisknoppen toewijzen aan diverse acties. Standaard is de linkermuisknop toegewezen aan de moduswisseling. Dus als u ergens in het venster van &ktimemon; met de linkermuisknop klikt, schakelt de weergegeven informatie van de Normale modus (standaard) naar de Uitgebreide modus en omgekeerd. Opmerking: deze functionaliteit zit niet in de applet-versie van &ktimemon;. Normale modus Nadat u &ktimemon; voor het eerste hebt gestart, zal het informatie tonen over het huidige gebruik van de processor, geheugen en swap. De grafiek bevat drie balken om deze informatie te tonen. De balken worden regelmatig bijgewerkt. De standaard verversingssnelheid is 0,5 sec., maar dat kunt u aanpassen. Zie hoofdstuk Configuratie. De drie balken representeren (van links naar rechts): CPU-gebruik. &ktimemon; toont de balk in drie verschillende kleuren. Deze representeren de CPU-tijd in verschillende modi. Van onder naar boven zijn dat: kernelmodus, usermodus en usermodus met verlaagde prioriteit (nice). Omdat &Solaris; voor die laatste geen ondersteuning blijkt te bieden geeft het bovenste gedeelte van de balk op deze systemen de wait-status aan. Het gat tussen de bovenkant van de balk en de bovenkant van het venster representeert het percentage ongebruikte CPU-tijd. Geheugengebruik. Net als de balk voor CPU-gebruik bestaat deze balk uit drie delen. Deze representeren (van beneden naar boven):geheugen gereserveerd door processen, geheugen gebruikt voor I/O-buffering en geheugen gebruikt voor bestand-caching. Op systemen die op Digital &UNIX; gebaseerd zijn representeert het middelste gedeelte het inactieve geheugen (dus geheugen dat is gereserveerd, maar voor een bepaalde tijd niet wordt gebruikt). Op systemen die op &Solaris; gebaseerd zijn wordt het middelste gedeelte niet gebruikt, het bovenste gedeelte representeert de hoeveelheid geheugen dat gebruikt wordt door de kernel. Ook hier is het gat tussen de bovenkant van de balk en de bovenkant van het venster de hoeveelheid ongebruikt geheugen. Swap-gebruik. Deze balk bestaat uit één gedeelte dat het huidige swap-gebruik in verhouding tot de totale hoeveelheid aan swap-ruimte op het systeem representeert. Als u met de muisknop die is toegewezen aan Moduswisseling in het venster van &ktimemon; klikt, schakelt deze over naar de Uitgebreide modus. Opmerking: de uitgebreide modus is niet beschikbaar bij de applet-versie van &ktimemon;. Uitgebreide modus In deze modus worden de drie balken gebruikt om andere systeeminformatie te tonen. Deze functionaliteit zit niet in de applet-versie van &ktimemon;. Van links naar rechts representeren ze: Paging-activiteit. De balk bestaat uit twee delen. Het onderste gedeelte toont het aantal geheugenpagina's dat naar de secondaire opslag is geschreven gedurende de laatste verversing van de weergave. Het bovenste gedeelte geeft een indicatie van het aantal pagina's dat is gelezen uit de secondaire opslag. Swapping-activiteit. De tweede balk toont de analoge informatie over de swap-activiteit. Contextwisselingen. Deze balk bestaat wederom uit één geheel, dat een indicatie van het aantal contextwisselingen tijdens de laatste verversing van de weergave geeft. Omdat er geen natuurlijke manier is om de informatie die in de uitgebreide modus wordt getoond te schalen, gebruikt &ktimemon; standaard automatisch schalen. Dit wordt verder uitgelegd in de sectie Veel voorkomende vragen. U kunt ook zelf de schaling opgeven, zie het hoofdstuk Configuratie voor meer informatie. Beide balkgrafieken gebruiken dezelfde kleuren, de kleurinstelling voor Normale modus wordt ook gebruikt voor het weergeven van informatie in Uitgebreide modus. Kijk in het hoofdstuk Configuratie hoe u het kleurenschema kunt wijzigen. Menustructuur Standaard is de &RMB; toegewezen aan de actie Contextmenu openen. Als u met de &RMB; ergens in het venster van &ktimemon; klikt, wordt er een menu geopend. Dit wordt verder behandeld in de volgende secties. <guimenuitem >Voorkeuren...</guimenuitem > De menuoptie Instellingen... opent een dialoogvenster. Configuratieopties worden behandeld in het hoofdstuk Configuratie. <guimenuitem >In systeemvak</guimenuitem > Deze optie vindt u alleen in de stand-alone versie van de toepassing, niet in de applet. Als u deze optie selecteert zal &ktimemon; het hoofdvenster sluiten en een verkleind venster in het systeemvak plaatsen. Afgezien van het verkleinde formaat zal &ktimemon; verder op dezelfde manier functioneren. <guimenu >Help</guimenu > &help.menu.documentation; <guimenuitem >Horizontale balken</guimenuitem > De menuoptie Horizontale balken wisselt van verticale balken naar horizontale balken en andersom. Niet echt bruikbaar, maar het was eenvoudig om dit in te programmeren ;-) <guimenuitem >Afsluiten</guimenuitem > De menuoptie Afsluiten sluit de toepassing af. Deze menuoptie is niet aanwezig in de applet-versie van het programma. Als u &ktimemon; afsluit zal ze haar huidige status onthouden, dus het kleurenschema, venstergrootte, vensterstatus, etc. en deze staat herstellen bij de volgende programmastart. Om de appletvariant te verwijderen uit uw paneel, klikt u op het applethandvat en kiest menuoptie Systeemmonitor verwijderen. Ook de appletversie zal zijn vorige staat onthouden en herstellen bij een volgende start. De configuratie van het programma wordt opgeslagen in het bestand $HOME/.kde/share/config/ktimemonrc, bij de appletversie is dit $HOME/.kde/share/config/ktimemon_panelappletrc. $HOME refereert aan de persoonlijke map van de gebruiker. Als u dit bestand verwijdert, zal &ktimemon; de volgende keer met de standaardinstellingen starten. Configuratie U kunt &ktimemon; instellen via een eenvoudig dialoogvenster (Kijk ook bij de sectie Configuratiemenu). Op het tabblad Algemeen kunt u de verversingssnelheid instellen en de schaling aanpassen (zie ook bij Uitgebreide modus). Als het keuzevakje Automatisch geselecteerd is, kunt u de schalingfactoren niet instellen. Deze worden dan automatisch door &ktimemon; bepaald. Kijk voor meer informatie over automatisch schalen in de sectie Veel voorkomende vragen. Op het tabblad Kleuren kunt u de kleuren van de balkgrafieken aanpassen. Klik op Toepassen om uw wijzigingen te bekijken. Op het tabblad Interactie kunt de muisacties aanpassen. U kunt het klikken met de muisknop in het venster van &ktimemon; laten negeren, een modusschakeling uitvoeren (niet bij de applet-versie, kijk ook bij Modi), het contextmenu aanroepen (zie ook bij Menu), of een extern proces aanroepen. De bijhorende commandoregel wordt geïntepreteerd door de standaard-shell. U kunt dus gebruik maken van shell-commando's, omgevingsvariabelen, &enz;. Op het tabblad Interactie vindt u ook een keuzevakje waarmee u de automatische weergave van de tekstballon kunt deactiveren. De tekstballon toont numerieke informatie over de balkgrafieken (zie ook bij basisbeginselen). Veel voorkomende vragen en antwoorden Voor welke besturingssystemen biedt &ktimemon; ondersteuning? &ktimemon; ondersteunt op &Linux; gebaseerde systemen, met het /proc-bestandssysteem, op &Solaris; gebaseerde systemen met de bibliotheek kstat en Digital &UNIX; (voorheen DEC/OSF1)-systemen met de table(2) systeemaanroep-interface. Alleen de &Linux;-versie is goed getest. Mocht u problemen ondervinden bij het gebruik van de &Solaris;/Digital &UNIX;-versie, aarzel dan niet om contact met me op te nemen. Bovendien zijn bijdragen aan &ktimemon; om het geschikt te maken voor andere platforms meer dan welkom. Neem contact met me op m.maierhofer@tees.ac.uk als u van plan bent om &ktimemon; over te zetten naar andere &UNIX;-smaken. Hoe werkt automatisch schalen? Ik ben blij dat u het vraagt. Omdat er geen goede manier is om de schaalfactor voor paging/swapping-operaties en contextwisselingen te bepalen (anders dan bijv. geheugengebruik, waar het totaal aan geheugen als uitgangspunt kan worden gebruikt) maakt &ktimemon; gebruik van een semi-intelligent (ahum...) autoschalingsmechanisme. Automatisch schalen werkt als volgt: Elke balk in de grafiek, zoals beschreven in de sectie Uitgebreide modus heeft een toegewezen schaalfactor. De oorspronkelijke waarden van deze factoren wordt ingesteld op een voorgedefinieerde waarde. Telkens als er een nieuwe verversing plaatsvindt, wordt de bijbehorende waarde geschaald met de overeenkomende factor. Als de waarde kan worden getoond in de door de factor gekozen schaal, zal er geen wijziging optreden. (Dus kleine wijzigingen in activiteit worden weergegeven door de hoogte van de balk te wijzigen.) Als de geschaalde waarde te groot of te klein zou zijn om te worden weergegeven met de huidige schaalfactor, wordt de schaling bijgesteld, zodat de nieuwe weergegeven waarde ongeveer halverwege de balkgrafiek staat. Op die manier hebben de volgende wijzigingen een grote kans dat ze relatief aan de huidige waarde kunnen worden getoond, in plaats van dat de schaal opnieuw moet worden bijgesteld. Waarom verschijnt er een dialoogvenster met de tekst Kreeg diagnostische uitvoer van subcommando? Als u een muisknop verbindt met een extern commando, zoals beschreven in hoofdstuk Configuratie, controleert &ktimemon; niet of het commando werkt. In plaats daarvan wordt er een shell-prompt aangeroepen die het commando uitvoert. Op die manier kunt u gebruik maken van shell-commando's, omgevingsvariabelen, enz. die geschikt zijn voor uw standaard-shell. Om te laten weten wat er gebeurt luistert &ktimemon; naar de uitvoer van stderr bij het aanroepen van het opgegeven commando. Deze uitvoer wordt in dit dialoogvenster getoond. Dit kan behulpzaam zijn als er iets mis gaat bij het aanroepen van het commando, maar kan ook vrij irritant zijn als het aangeroepen commando onschuldige uitvoer naar stderr stuurt. Een eenvoudige oplossing is het toevoegen van 2>/dev/null aan het einde van het commando. Dit leidt de diagnosemeldingen naar /dev/null, wat voor u betekent dat het dialoogvenster niet meer wordt geopend. Dankbetuigingen en licentie &ktimemon; is gebaseerd op een Xt-versie van mijn broer. Met dank aan 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, en Lubos Lunak l.lunak@sh.cvut.cz voor bugrapporten, patches, commentaar en suggesties. &meld.fouten;&vertaling.niels;&nagelezen.natalie; &underGPL;