TOP(1)

NIMI
top - näytä eniten keskusyksikköaikaa käyttävät prosessit

YLEISKATSAUS
top [-] [d viive] [q] [c] [S] [s] [i]

KUVAUS
top antaa mahdollisuuden tarkastella prosessorin ajankäyttöä reaaliaikaisesti. Se näyttää luettelon järjestelmän eniten keskusyksikköaikaa käyttävistä tehtävistä, ja sitä voi käyttää myös interaktiivisena työkaluna prosessien hallintaan. top voi lajitella tehtävät keskusyksikköajan käytön, muistinkulutuksen tai ajoon kuluneen ajan mukaan. Tämä top-ohjelman toteutus on paremmin konfiguroitavissa kuin procps-ohjelmakokoelmaan kuuluva standardi-top. Useimmat ominaisuudet voidaan valita joko interaktiivisin komennoin tai määrittelemällä ominaisuus käyttäjäkohtaisessa tai koko järjestelmää koskevassa konfiguraatiotiedostossa. Lisätietoja jäljempänä.

OPTIOT
Määrää viipeen kuvaruutupäivitysten välillä. Voit muuttaa viipeen myös painamalla s käytön aikana. Poistaa viipeen kuvaruutupäivitysten väliltä. Jos käyttäjällä on pääkäyttäjän oikeudet, top ajetaan korkeimmalla mahdollisella suoritusjärjestyksellä. Kytkee kumulatiivisen tilan, jossa kunkin prosessin kohdalla luetellaan keskusyksikköaika, jonka prosessi ja sen kuolleet lapsiprosessit ovat yhteensä käyttäneet. Tämä vastaa toiminnaltaan optiota -S komennolle ps(1). Katso myös jäljempää interaktiivista komentoa S koskeva selvitys. Kehottaa topia toimimaan turvallisessa tilassa. Tällöin mahdollisesti vaaralliset interaktiiviset komennot eivät ole käytettävissä. Turvalliseksi tehty top on mukava jättää pyörimään joutilaalle päätteelle. Kehottaa topia jättämään huomiotta joutilaat ja zombie-prosessit. Katso jäljempää interaktiivisen i-komennon käyttö. näyttää komennon nimen sijasta koko komentorivin. Oletusasetusta on vaihdettu, koska tämä näyttää hyödyllisemmältä.

KENTTIEN KUVAUKSET
top näyttää monenlaista tietoa prosessorin tilasta. Oletusarvoisesti näyttö päivittyy 5 sekunnin välein, mutta voit muuttaa päivitysten välistä viivettä komentorivin optiolla d tai interaktiivisesti s-komennolla. Tämä rivi kertoo kellonajan, kauanko järjestelmä on ollut pystyssä ja montako käyttäjää on tällä hetkellä kirjautuneena järjestelmään. Rivin lopussa on kolme järjestelmän kuormituskeskiarvoa. Kuormituskeskiarvot kertovat suoritusvalmiiden prosessien keskimääräisen lukumäärän viimeksi kuluneiden 1, 5 ja 15 minuutin ajalta. Tämä rivi on samanlainen kuin komennon uptime(1) tuloste. Uptime-näytön voit kytkeä päälle ja pois interaktiivisesti l-komennolla. Ilmoittaa viimeisimmällä päivityshetkellä ajettavana olleiden prosessien lukumäärän. Tämä jakautuu ajettaviin (running), nukkuviin (sleeping), pysäytettyihin (stopped) ja zombie-prosesseihin. Prosessien ja keskusyksikkötilojen näytöt voi kytkeä päälle ja pois interaktiivisesti t-komennolla. Näyttää, montako prosenttia keskusyksikköajasta on suoritettu prosesseja käyttäjätilassa (user), järjestelmätilassa (system), alennetulla suoritusjärjestyksellä (nice) ja paljonko keskusyksikkö on ollut jouten (idle). Alennetulla suoritusjärjestyksellä suoritettuihin tehtäviin käytetty aika lasketaan mukaan käyttäjä- ja järjestelmätilan ajankäyttöön, joten yhteenlaskettu ajankäyttö ylittää 100 %. Prosessien ja keskusyksikkötilojen näytöt voi kytkeä päälle ja pois interaktiivisesti t-komennolla. Näyttää tilaston muistinkulutuksesta, kuten käytettävissä olevan kokonaismuistitilan, käytössä olevan ja vapaan muistin, jaetun muistin ja puskureille käytetyn muistin. Tämä ja Swap ovat samanlaiset kuin komennon free(1) tuloste. Muistitietojen näytön (Mem ja Swap) voi kytkeä päälle ja pois interaktiivisesti m-komennolla. Näyttää tilaston sivutusmuistitilan käytöstä, kuten sivutusmuistille varatun kokonaistilan sekä käytetyn ja vapaan sivutusmuistitilan. Tämä ja Mem ovat samanlaiset kuin komennon free(1) tuloste. Muistitietojen näytön (Mem ja Swap) voi kytkeä päälle ja pois interaktiivisesti m-komennolla. Tässä sarakkeessa on kunkin tehtävän prosessitunniste. Tehtävän emoprosessin prosessitunniste. Tehtävän omistajan käyttäjätunniste. Tehtävän omistajan käyttäjätunnus. Tehtävän suoritusjärjestys. Mitä pienempi luku, sitä korkeampi on tehtävän suoritusjärjestys. Tehtävän suoritusjärjestyksen muutos. Negatiiviset muutokset tarkoittavat korotettua suoritusjärjestystä. Tehtävän koodin + datan + pinolle varatun tilan yhteenlaskettu koko kilotavuina. Tehtävän koodin koko. Tämä näyttää outoja arvoja järjestelmäytimen prosesseille eikä toimi oikein ELF-prosesseille. Tehtävän datan koko ja pinolle varattu tila yhteensä. Tämä ei toimi oikein ELF-prosesseille. Muistissa olevan tekstin koko. Tehtävän ulos sivutetun osan koko. Likaisiksi merkittyjen sivujen koko. Tehtävän käyttämien kirjastosivujen koko. Tämä ei toimi ELF-prosesseille. Tehtävän käyttämän fyysisen muistin kokonaismäärä kilotavuina. ELF-prosesseille käytössä olevat kirjastosivut lasketaan tähän mukaan; a.out-prosesseille kirjastosivuja ei lasketa tähän. Tehtävän käyttämän jaetun muistin koko. Tehtävän tila. Tila on joko S eli nukkuva, D eli nukkuva, ei keskeytettävissä, R eli suoritettava, Z eli zombie tai T eli pysäytetty tai jäljitettävänä oleva. Tilamerkinnän jälkeen tulee < prosessille, jonka suoritusjärjestystä on korotettu, N prosessille, jonka suoritusjärjestystä on alennettu, ja W prosessille, joka on sivutettu ulos (tämä ei toimi oikein järjestelmäytimen prosesseille). Riippuen siitä, onko tiedosto /boot/psdatabase tai järjestelmäytimen linkkauskartta /boot/System.map käytettävissä, tämä näyttää sen järjestelmäytimen funktion osoitteen tai nimen, jossa tehtävä nukkuu. Tehtävän käyttämä keskusyksikköaika käynnistyksestä lukien. Jos kumulatiivinen tila on käytössä, tähän lasketaan myös prosessin kuolleiden lapsiprosessien käyttämä aika. Voit asettaa kumulatiivisen tilan komentorivioptiolla S tai kytkeä sen päälle ja pois interaktiivisesti S-komennolla. Kumulatiivisessa tilassa sarakkeen otsikkona on CTIME. Tehtävän käyttämä osuus prosentteina kokonaiskeskusyksikköajasta näytön edellisen päivityksen jälkeen. Tehtävän käyttämä osuus fyysisestä muistista. Ajettavan komennon nimi. Nimi katkaistaan, jos se ei mahdu riville. Muistissa olevista tehtävistä näytetään koko komentorivi, mutta ulos sivutetuista tehtävistä vain ohjelman nimi suluissa (esimerkiksi "(getty)"). Tämä top-ohjelman toteutus ei tue näitä kenttiä, joita kmem:in top käyttää.

INTERAKTIIVISET KOMENNOT
top tunnistaa ajon aikana useita yksittäisenä näppäimenpainalluksena annettuja interaktiivisia komentoja. Jotkin komennoista eivät toimi, jos komentorivillä on annettu s-optio. Päivittää näytön viipymättä. Pyyhkii näytön ja tulostaa sen uudelleen. Näyttää ohjenäytön, jolla on yhteenveto näppäinkomennoista. Ohjenäyttö kertoo myös sanallisesti ovatko turvallinen tila ja kumulatiivinen tila käytössä sekä otetaanko joutilaat ja zombie-prosessit huomioon. Tappaa prosessin. Sinulta kysytään prosessitunniste ja prosessille lähetettävä signaali. Normaali tapa tappaa prosessi on signaalilla 15. Prosessin tappaa hyvin tehokkaasti mutta varsin äkillisesti signaali 9. Oletuksena, kuten myös komennolla kill(1), on signaali 15, SIGTERM. Tämä komento ei toimi turvallisessa tilassa. Jättää huomiotta joutilaat ja zombie-prosessit. Joka toinen i-näppäimen painallus kytkee ja joka toinen poistaa tämän toiminnon. Muuttaa näytettävien prosessien määrän. Sinulta kysytään uusi määrä. Käyttäjän antama määrä ohittaa ikkunan kokoon perustuvan automaattisen näytettävien prosessien määrän valinnan. Jos annat määräksi 0, top näyttää niin monta prosessia kuin näyttöön mahtuu; tämä on oletusasetus. Lopeta top-komennon suoritus. Muuta prosessin suoritusjärjestystä. Sinulta kysytään tehtävän prosessitunniste ja suoritusjärjestyksen muutos. Positiivinen muutos alentaa prosessin suoritusjärjestystä. Pääkäyttäjä voi antaa topissa negatiivisen suoritusjärjestyksen muutoksen, jolloin prosessin suoritusjärjestystä voidaan nostaa. Oletus muutokseksi on 10. Tämä komento ei toimi turvallisessa tilassa. Tämä kytkee kumulatiivisen tilan päälle tai pois. Kumulatiivisessa tilassa keskusyksikköajat sisältävät prosessin toimintansa päättäneet lapsiprosessit, mikä vastaa komentoa ps -S. Kumulatiivinen tila tarjoaa vaihtoehtoisen näkemyksen keskusyksikön käytöstä. Jotkin ohjelmat, kuten kääntäjät, joiden toiminta perustuu siihen, että ne käynnistävät useita erillisiä tehtäviä, näyttävät normaalitilassa käyttävän todellista vähemmän resursseja. Joillekin muille ohjelmille, kuten komentotulkeille ja init-prosessille ei puolestaan pidäkään laskea niiden lapsiprosessien resurssienkulutusta. Muuttaa viipeen päivitysten välillä. Sinulta kysytään viipeen pituus sekunteina. Sekunnin murto-osat kelpaavat mikrosekunteihin saakka. 0 tarkoittaa näytön jatkuvaa päivittämistä. Oletusarvona on 5 sekuntia. Huomaa, että pienillä arvoilla näyttöä voi olla lähes mahdoton lukea ja keskusyksikön kuormitus nousee huomattavasti. Tämä komento ei ole käytettävissä turvallisessa tilassa. Lisää tai poistaa näytössä esitettäviä kenttiä. Lisätietoja jäljempänä. Muuttaa kenttien järjestystä näytössä. Lisätietoja jäljempänä. Kytkee kuormituskeskiarvojen ja uptime-tietojen näytön päälle tai pois. Kytkee muistitietojen näytön päälle tai pois. Kytkee prosessien ja keskusyksikkötilojen näytön päälle tai pois. Vaihtaa näyttötilaa komennon nimen ja koko komentorivin näytön välillä. Lajittelee tehtävät muistissa olevan osan suuruuden mukaan. Lajittelee tehtävät keskusyksikköajan hetkellisen käytön mukaan (oletus). Lajittelee tehtävät tehtävän käyttämän tai kumulatiivisen keskusyksikköajan mukaan. Kirjoittaa tämänhetkiset asetukset tiedostoon ~/.toprc. Tämä on suositeltava tapa kirjoittaa top-komennolle konfiguraatiotiedosto.

KENTTIEN JA NIIDEN JÄRJESTYKSEN VALINTA
Kun painat f, F, o tai O, pääset näyttöön, jonka ylimmällä rivillä näkyy kenttien järjestys ja sen alla kenttien lyhyet kuvaukset. Kenttien järjestystä kuvaavassa merkkijonossa kentän merkkinä on iso kirjain, jos top näyttää kentän, ja pieni, jos kenttää ei näytetä. Lisäksi kentän kuvauksen edessä näkyy tähti, jos kenttä näytetään. Kenttien järjestys näytöllä vasemmalta oikealle on sama kuin kirjainten järjestys merkkijonossa. Kenttien valintanäytössä (jos käytit näppäinkomentoa f tai F) voit erikseen kytkeä kunkin kentän näytön päälle tai pois painamalla vastaavaa kirjainta. Käsitellessäsi kenttien järjestystä (jos käytit näppäinkomentoa o tai O) voit siirtää kenttää vasemmalle painamalla vastaavaa isoa kirjainta ja oikealle painamalla pientä kirjainta. Näistä näytöistä pääset pois painamalla jotakin näppäintä, joka ei ole minkään kentän valintakirjain.

KONFIGURAATIO
top lukee oletuskonfiguraationsa kahdesta tiedostosta, /etc/toprc ja ~/.toprc. Koko järjestelmää koskevaa konfiguraatiotiedostoa /etc/toprc voidaan käyttää rajoittamaan top-komennon käyttö turvalliseen tilaan muilta kuin etuoikeutetuilta käyttäjiltä. Jos näin halutaan tehdä, tiedoston tulisi sisältää yksi ainoa rivi, jolla on turvallisen tilan määrittelevä 's' ja yksi numero d (2<=d<=9), joka määrää näytön päivitysten välisen viipeen sekunteina.

Käyttäjäkohtaisessa konfiguraatiotiedostossa on kaksi riviä. Ensimmäisellä rivillä on isoja ja pieniä kirjaimia, joilla määritellään, mitkä kentät ja missä järjestyksessä esitetään. Kenttien kirjaintunnukset ovat samat kuin kenttien ja kenttien järjestyksen valintanäytöissä. Koska tämä ei ole kovin havainnollista, on suositeltavaa valita kentät ja asettaa niiden järjestys ajamalla top ja tallentamalla asetukset interaktiivisella W-komennolla.

Toinen rivi on mielenkiintoisempi (ja tärkeämpi). Sillä on tiedot muista optioista. Huomaa erityisesti, että jos olet tallentanut konfiguraation turvallisessa tilassa, et saa topia pois turvallisesta tilasta poistamatta pientä 's'-kirjainta ~/.toprc-tiedostosi toiselta riviltä. Yksinumeroinen luku määrää viipeen näytön päivitysten välillä, iso 'S' kumulatiivisen tilan ja pieni 'i' sen, ettei joutilaita eikä zombie-prosesseja näytetä. Kuten interaktiivisina komentoinakin, pienet 'm', 'l' ja 't' kytkevät pois muistitietojen, uptime-tietojen ja keskusyksikön tilojen näytön. Tehtävien lajittelujärjestys ei toistaiseksi tallennu konfiguraatiotiedostoon, vaan oletuksena pysyy lajittelu keskusyksikköajan hetkellisen käytön mukaan.

MERKINNÄT
Tämä proc-pohjainen top toimii lukemalla hakemistoon /proc liitetyn proc-tiedostojärjestelmän tietoja. Jos /proc ei ole liitetty, top ei toimi.

%CPU näyttää käytetyn keskusyksikköajan osuuden prosentteina tosiajasta päivitysten välillä. Ensimmäisessä päivityksessä viive on lyhyt ja top itse käyttää huomattavan osan keskusyksikköajasta. Sen jälkeen topin vaikutus tasaantuu ja top antaa luotettavamman arvion keskusyksikköajan käytön jakaantumisesta.

Kentät SIZE ja RSS eivät laske sivutauluja ja prosessin task_struct-rakennetta; näihin kuluu aina vähintään 12 kilotavua muistia, jota ei sivuteta ulos. SIZE on prosessin virtuaalinen koko (koodi+data+pino).

Muista, että lapsiprosessin on kuoltava ennen kuin sen ajankäyttö kirjautuu emoprosessin kohdalle kumulatiivisessa tilassa. Voisi olla hyödyllisempää seurata prosessien sukupuuta takaisinpäin ja summata kaikki ajat, mutta se olisi työläämpää, ehkä liiankin vaikeaa. Ainakin se tekisi topin käyttäytymisen yhteensopimattomaksi ps:n kanssa.

TIEDOSTOT
/etc/toprc Koko järjestelmää koskeva konfiguraatiotiedosto.

~/.toprc Käyttäjäkohtainen konfiguraatiotiedosto.

BUGIT
Jos ikkuna on pienempi kuin noin 70x7 merkkiä, top ei muotoile tulostusta oikein.

Monissa kentissä on yhä ongelmia ELF-prosessien kanssa.

Ohjenäyttöjä ei ole vielä optimoitu 25 riviä pienemmille ikkunoille.

TEKIJÄ
topin kirjoitti alun perin Roger Binns Branko Lankesterin <lankeste@fwi.uva.nl> ps-ohjelman pohjalta.

Robert Nation <nation@rocket.sanders.lockheed.com> kirjoitti merkittävän osan uudelleen käyttämään proc-tiedostojärjestelmää. Tämän muutoksen pohjana oli Michael K. Johnsonin <johnsonm@redhat.com> proc-pohjainen ps.

Michael Shields <mjshield@nyx.cs.du.edu> teki monia muutoksia, mukaan luettuna turvallisen ja kumulatiivisen tilan sekä yleistä siistintää.

Helmut Geyer <Helmut.Geyer@iwr.uni-heidelberg.de> muutti ohjelmaa huomattavasti tukemaan konfiguroitavia kenttiä ja muita uusia optioita. Hän jatkoi siistimistä ja lisäsi uuden readproc-liittymän.

Ohjelman nykyinen ylläpitäjä on Michael K. Johnson <johnsonm@redhat.com>.

Bugiraportit voi lähettää osoitteeseen <procps-bugs@redhat.com>.

KATSO MYÖS
ps(1), free(1), uptime(1), kill(1), renice(1).