Time (uus)
Autor
Ees ja perekonnanimi: Silver Viljaste
Rühm: A21 päevaõpe
Referaadi koostamise kuupäev: 17.11.2013. a.
Sissejuhatus
Käesolev referaat, mille teemaks on UNIX käsureal käivitatav käsk „time“, on täiendversioon IT Kolledži tudengi Karmen Matkuri referaadile. Eelmise versiooniga saab tutvuda siit: https://wiki.itcollege.ee/index.php/Time
Time on käsk, mida kasutatakse UNIX-laadsetes operatsioonisüsteemides selleks, et kindlaks määrata näiteks konkreetse käsu või programmi täitmiseks kulunud aega.
Käsk time on võimalik kävitada kahel viisil: eraldiseisva programmina või käsuna näiteks Bash kestas (Shell). Eraldiseisva programmina on time kasutatav igas Linux operatsioonisüsteemis. Selleks, et käivitada käsk time välise programmina, tuleb kasutajal Bash kestas määrata teekond, kus programm asub. Selleks on /usr/bin/time.
Bash shell’i sisseehitatud käsu time tulemusena väljastatakse etteantud käskude täitmiseks kulunud reaalne aeg, kasutaja CPU aeg ja süsteemi CPU aeg.
Lisaks ajalisele statistikale, mida saame käsu time täitmisel näha, on välise programmi korral võimalik pärida andmeid teiste ressursside kohta, näiteks mälu, andmete jagamist sisend–väljund seadmete ja loogiliste protsessorite (threads) vahel.
Bash shell'i integreeritud käsk time
Süntaks
time [võtmed] käsklus [argumendid]
Võtmed
-p - interpreteerib väljundi POSIX vormingus. Tulemus esitatakse sekundites, ent kümnendike koht pole täpsustatud, kuid on piisava ajalise täpsusega.
Kirjeldus
Time käsuga väljastatakse käskude täitmiseks kulunud ajaline statistika:
- Reaalne aeg - programmi või käsu esilekutsumiseks ja lõpetamiseks kulunud aeg.
- Kasutaja CPU aeg – aeg, mis kulus protsessoril protsesside esilekutsumiseks kasutajarežiimis ja kerneliväliselt.
- Süsteemi CPU aeg – protsessori tööaeg, mis kulus rakendusprogrammil operatsioonisüsteemi poole pöördumiseks selleks, et kävitada operatsioonisüsteemis sisalduvaid rutiiine.
Näited:
- Käsu time kasutamine programmi installeerimisel: time apt-get install [programmi nimi]
time apt-get install htop |
Tulemus: Käsureale väljastatakse programmi installeerimiseks kulunud aeg koos ülejäänud parameetritega.
real 0m3.659s user 0m0.896s sys 0m0.080s |
- Käsu time kasutamine programmi käivitamisel: time [programmi nimi]
time htop |
Tulemus: Käsureale väljastatakse programmi töö alustamiseks ja lõpetamiseks kulunud aeg sõltuvalt programmi tööaja pikkusest koos ülejäänud parameetritega.
real 0m3.167s user 0m0.008s sys 0m0.064s |
- Käsu time kasutamine programmi käivitamisel koos võtmega -p: time –p [programmi nimi]
time –p htop |
Tulemus: Käsureale väljastatakse POSIX vormingus programmi töö alustamiseks ja lõpetamiseks kulunud aeg sõltuvalt programmi tööaja pikkusest koos ülejäänud parameetritega.
real 10.57 user 0.02 sys 0.10 |
- Käsu time kasutamine programmi kävitamisel koos võtmega -
qwdqwd |
Tulemus:
qwdqwd |
Välimine käsk time
Süntaks
/usr/bin/time [võtmed] käsklus [argumendid]
Võtmed
-v, –verbose - kasutatakse siis, kui soovitakse väljundile detailsemat kirjeldust.
–quite - välditakse programmi staatuse raporteerimist väljundis.
-f, –format - kasutaja saab määrata väljundi vormingut.
-p - Võimaldab määrata väljundi vormingu, mis on vastavuses POSIX-ga.
-o FILE – väljund suunatakse faili.
–output=FILE – väljund suunatakse faili, kus vana sisu kirjutatakse üle.
-a, –append – väljund kirjutatakse faili lõppu, välditakse ülekirjtamist.
-V, --version - kuvatakse versiooni informatsioon.
-format ehk -f võti
-f võtmega lubatakse kasutajal otsustada, millist informasiooni ja millises vormingus väljastatakse. Format string sisaldab:
%+karakter - määrab, milliseid andmeid väljundis näidatakse. Karakterite valiku saab kätte käsuga:
man time |
\ - määrab tulemuse vormingu:
- \t - tabeli vorm;
- \n - järgnev tulemus kuvatakse uuele reale;
- \\ - kuvatakse tähemärk \
Ülejäänud tekst kuvatakse nii, nagu vaikimisi vorming ette näeb. /usr/bin/time vaikimisi vorming on kujul:
%Uuser %Ssystem %Eelapsed %PCPU (%Xtext+%Ddata %Mmax)k %Iinputs+%Ooutputs (%Fmajor+%Rminor)pagefaults %Wswaps
Kirjeldus
Ülejäänud võtmete kasutamiseks tuleb käsk time käivitada välise programmina. Selleks tuleb määrata programmi Time asukoht.
- Programmi Time kataloogi teekonna määramine: whereis [programmi nimi]
whereis time |
Tulemus: Käsureale kuvatakse väljundina kataloogi teekond, kus asub programmi Time käivitatav fail.
Näited:
- Käsu time kasutamine programmi käivitamisel: /usr/bin/time [programmi nimi]
/usr/bin/time htop |
Tulemus: Käsureale väljastatakse programmi töö alustamiseks ja lõpetamiseks kulunud aeg sõltuvalt programmi tööaja pikkusest koos ülejäänud parameetritega.
0.01user 0.09system 0:07.33elapsed 1%CPU (0avgtext+0avgdata 9088maxresident)k 0inputs+0outputs (0major+1617minor)pagefaults 0swaps |
- Käsu time kasutamine programmi käivitamisel koos võtmega -f, mis muudab väljundi vormingut: /usr/bin/time –f [programmi nimi]
/usr/bin/time -f "\t%U user,\t%S system,\t%e real" htop |
Tulemus: Käsureale väljastatakse programmi töö alustamiseks ja lõpetamiseks kulunud aeg ette määratud vormingus.
0.02 user, 0.08 system, 7.65 real |
Kasutatud kirjandus
1. http://en.wikipedia.org/wiki/Time_(Unix)
2. http://linux.about.com/library/cmd/blcmdl1_time.htm
3. http://www.thegeekstuff.com/2012/01/time-command-examples/
4. http://linux.about.com/library/cmd/blcmdl1_whereis.htm