Time (uus): Difference between revisions
No edit summary |
No edit summary |
||
Line 11: | Line 11: | ||
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 | 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. | '''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. [1][2] | ||
Käsk '''time''' on võimalik käivitada 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'''. | Käsk '''time''' on võimalik käivitada 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'''. [6] | ||
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. | 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. [4] | ||
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. | 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. [5] | ||
=Bash shell'i integreeritud käsk '''time'''= | =Bash shell'i integreeritud käsk '''time'''= | ||
Line 27: | Line 27: | ||
==Võtmed== | ==Võtmed== | ||
'''-p''' - interpreteerib väljundi POSIX vormingus. Tulemus esitatakse sekundites, ent kümnendike koht pole täpsustatud, kuid on piisava ajalise täpsusega. | '''-p''' - interpreteerib väljundi POSIX vormingus. Tulemus esitatakse sekundites, ent kümnendike koht pole täpsustatud, kuid on piisava ajalise täpsusega. [3][5] | ||
==Kirjeldus== | ==Kirjeldus== | ||
Line 33: | Line 33: | ||
'''Time''' käsuga väljastatakse käskude täitmiseks kulunud ajaline statistika: | '''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. | * '''Reaalne aeg''' - programmi või käsu esilekutsumiseks ja lõpetamiseks kulunud aeg. [3] | ||
* '''Kasutaja CPU aeg''' – aeg, mis kulus protsessoril protsesside esilekutsumiseks kasutajarežiimis ja kerneliväliselt. | * '''Kasutaja CPU aeg''' – aeg, mis kulus protsessoril protsesside esilekutsumiseks kasutajarežiimis ja kerneliväliselt. [3] | ||
* '''Süsteemi CPU aeg''' – protsessori tööaeg, mis kulus rakendusprogrammil operatsioonisüsteemi poole pöördumiseks selleks, et kävitada operatsioonisüsteemis sisalduvaid rutiiine. | * '''Süsteemi CPU aeg''' – protsessori tööaeg, mis kulus rakendusprogrammil operatsioonisüsteemi poole pöördumiseks selleks, et kävitada operatsioonisüsteemis sisalduvaid rutiiine. [3] | ||
Line 101: | Line 101: | ||
==Võtmed== | ==Võtmed== | ||
'''-v, –verbose''' - kasutatakse siis, kui soovitakse väljundile detailsemat kirjeldust. | '''-v, –verbose''' - kasutatakse siis, kui soovitakse väljundile detailsemat kirjeldust. [3] | ||
'''–quite''' - välditakse programmi staatuse raporteerimist väljundis. | '''–quite''' - välditakse programmi staatuse raporteerimist väljundis. [3] | ||
'''-f, –format''' - kasutaja saab määrata väljundi vormingut. | '''-f, –format''' - kasutaja saab määrata väljundi vormingut. [3] | ||
'''-p''' - Võimaldab määrata väljundi vormingu, mis on vastavuses POSIX-ga. | '''-p''' - Võimaldab määrata väljundi vormingu, mis on vastavuses POSIX-ga. [3] | ||
''' -o FILE''' – väljund suunatakse faili. | ''' -o FILE''' – väljund suunatakse faili. [3] | ||
'''–output=FILE''' – väljund suunatakse faili, kus vana sisu kirjutatakse üle. | '''–output=FILE''' – väljund suunatakse faili, kus vana sisu kirjutatakse üle. [3] | ||
'''-a, –append''' – väljund kirjutatakse faili lõppu, välditakse ülekirjtamist. | '''-a, –append''' – väljund kirjutatakse faili lõppu, välditakse ülekirjtamist. [3] | ||
'''-V, --version''' - kuvatakse versiooni informatsioon. | '''-V, --version''' - kuvatakse versiooni informatsioon. [3] | ||
===-format ehk -f võti=== | ===-format ehk -f võti=== | ||
Line 121: | Line 121: | ||
'''-f''' võtmega lubatakse kasutajal otsustada, millist informasiooni ja millises vormingus väljastatakse. Format string sisaldab: | '''-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: | '''%+karakter''' - määrab, milliseid andmeid väljundis näidatakse. [2] Karakterite valiku saab kätte käsuga: | ||
{|style="background:lightyellow;width:700px;margin:3px;border:1px solid lightgrey" align=centre | {|style="background:lightyellow;width:700px;margin:3px;border:1px solid lightgrey" align=centre | ||
Line 129: | Line 129: | ||
'''\''' - määrab tulemuse vormingu: | '''\''' - määrab tulemuse vormingu: | ||
* '''\t''' - tabeli vorm; | * '''\t''' - tabeli vorm; [2] | ||
* '''\n''' - iga järgnev tulemus kuvatakse uuele reale; | * '''\n''' - iga järgnev tulemus kuvatakse uuele reale; [2] | ||
* '''\\''' - kuvatakse tähemärk '''\''' | * '''\\''' - kuvatakse tähemärk '''\''' [2] | ||
Ülejäänud tekst kuvatakse nii, nagu vaikimisi vorming ette näeb. '''/usr/bin/time''' vaikimisi vorming on kujul: | Ülejäänud tekst kuvatakse nii, nagu vaikimisi vorming ette näeb. '''/usr/bin/time''' vaikimisi vorming on kujul: [3] | ||
%Uuser %Ssystem %Eelapsed %PCPU (%Xtext+%Ddata %Mmax)k | %Uuser %Ssystem %Eelapsed %PCPU (%Xtext+%Ddata %Mmax)k |
Revision as of 03:47, 28 December 2013
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. [1][2]
Käsk time on võimalik käivitada 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. [6]
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. [4]
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. [5]
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. [3][5]
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. [3]
- Kasutaja CPU aeg – aeg, mis kulus protsessoril protsesside esilekutsumiseks kasutajarežiimis ja kerneliväliselt. [3]
- Süsteemi CPU aeg – protsessori tööaeg, mis kulus rakendusprogrammil operatsioonisüsteemi poole pöördumiseks selleks, et kävitada operatsioonisüsteemis sisalduvaid rutiiine. [3]
Näited:
- Käsu time kasutamine programmi paigaldamisel: time apt-get install [programmi nimi]
time apt-get install htop |
Tulemus: Käsureale väljastatakse programmi paigaldamiseks 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 |
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. [3]
–quite - välditakse programmi staatuse raporteerimist väljundis. [3]
-f, –format - kasutaja saab määrata väljundi vormingut. [3]
-p - Võimaldab määrata väljundi vormingu, mis on vastavuses POSIX-ga. [3]
-o FILE – väljund suunatakse faili. [3]
–output=FILE – väljund suunatakse faili, kus vana sisu kirjutatakse üle. [3]
-a, –append – väljund kirjutatakse faili lõppu, välditakse ülekirjtamist. [3]
-V, --version - kuvatakse versiooni informatsioon. [3]
-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. [2] Karakterite valiku saab kätte käsuga:
man time |
\ - määrab tulemuse vormingu:
- \t - tabeli vorm; [2]
- \n - iga järgnev tulemus kuvatakse uuele reale; [2]
- \\ - kuvatakse tähemärk \ [2]
Ülejäänud tekst kuvatakse nii, nagu vaikimisi vorming ette näeb. /usr/bin/time vaikimisi vorming on kujul: [3]
%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