table of contents
TIME(1) | Linux - Příručka uživatele | TIME(1) |
JMÉNO¶
time - změří čas vykonání příkazu nebo vypíše využití zdrojů
POUŽITͶ
time [volby] příkaz [argumenty...]
POPIS¶
Příkaz time spustí zadaný program příkaz s uvedenými argumenty. Když příkaz skončí, time vypíše na standardní chybový vystup zprávu se časovými statistikami o běhu programu. Tyto statistiky se skládají z (i) skutečného uběhnutého času od spuštění do ukončení, (ii) CPU času uživatele (součet hodnot tms_utime a tms_cutime ze struct tms, navrácené voláním times(2)), a (iii) CPU času systému (součet hodnot tms_stime a tms_cstime ze struct tms navrácené voláním times(2)).
Pozn: Některé shelly (např. bash(1)) mají zabudovaný příkaz time, který poskytuje méně funkcí než zde popisovaný program. Pro použití pravého programu může být potřeba uvedení celé cesty (obvykle /usr/bin/time).
VOLBY¶
- -p
- Pokud je locale nastaveno na POSIX, použije tradiční přesný formát
-
"real %f\nuser %f\nsys %f\n"
- (s čísly v sekundách) kde počet desetinných míst ve výstupu pro %f není určen, ale dostačuje k vyjádření přesnosti systému (clock tick accuracy) a je nejméně jedno.
NÁVRATOVÁ HODNOTA¶
Pokud byl příkaz spuštěn, je návratovou hodnotou návratová hodnota příkazu. V opačném případě je to 127, pokud příkaz nebyl nalezen, 126, pokud byl nalezen, ale nemohl být spuštěn a další nenulová hodnota (1-125), pokud se pokazilo něco jiného.
PROSTŘEDͶ
Jsou použity proměnné LANG, LC_ALL, LC_CTYPE, LC_MESSAGES, LC_NUMERIC, NLSPATH, a PATH. Ta poslední slouží k nalezení příkazu. Ostatní slouží k nastavení textu a formátování výstupu.
VERZE GNU¶
Následuje popis GNU verze 1.7 programu time. Bez ohledu na název utility obsahuje její výstup spoustu užitečných informací, nejen o využitém času, ale i o dalších zdrojích jako pamět, I/O a IPC volání (kde je to možné). Výstup je formátován pomocí formátovacího řetězce, který může být určen volbou -f nebo proměnnou prostředí TIME .
Výchozí hodnota formátovacího řetězce je
%Uuser %Ssystem %Eelapsed %PCPU (%Xtext+%Ddata %Mmax)k
%Iinputs+%Ooutputs (%Fmajor+%Rminor)pagefaults %Wswaps
Pokud je použita volba -p, je použit (přenositelný) výstupní formát:
real %e
user %U
sys %S
Formátovací řetězec¶
Formát je interpretován způsobem obvyklým z printf. Obyčejné znaky jsou použity přímo, tabulátor, nový řádek a zpětné lomítko jsou escapovány pomocí \t, \n a \\, znak % je reprezentován jako %%, samostatně označuje převod. Program time vždy sám přidá závěrečný konec řádku. The conversions follow. Jsou podporovány všechny, které používá tcsh(1).
Čas
- %E
- Skutečný uplynulý čas ([hodiny:]minuty:sekundy).
- %e
- (Není v tcsh.) Skutečný uplynulý čas (v sekundách).
- %S
- Celkový počet sekund CPU, které proces strávil v módu jádra.
- %U
- Celkový počet sekund CPU, které proces strávil v uživatelském módu.
- %P
- Procentní podíl z CPU, který proces dostal, spočtený jako (%U + %S) / %E.
Paměť
- %M
- Maximální velikost fyzické paměti využité procesem, dosažená za jeho běhu, v kilobajtech.
- %t
- (Není v tcsh.) Průměrná fyzické paměti využité procesem, v kilobajtech.
- %K
- Průměrné celkové (data+zásobník+text) využití paměti procesem, v kilobajtech.
- %D
- Průměrná velikost odsdíleného prostoru dat procesu, v kilobajtech.
- %p
- (Není v tcsh.) Průměrná velikost odsdíleného prostoru zásobníku procesu, v kilobajtech.
- %X
- Průměrná velikost odsdíleného prostoru textu, v kilobajtech.
- %Z
- (Není v tcsh.) Velikost stránky systému, v bajtech. Toto je systémová konstanta, která se mezi systémy liší.
- %F
- Počet závažných stránkovacích chyb, ke kterým došlo při běhu procesu. To jsou případy, kdy musela být stránka načtena z disku.
- %R
- Počet podružných stránkovacích chyb. To jsou chyby stránek, které nejsou platné, ale ještě nebyly zabrány jinými virtuálními stránkami. Tudíž data ve stránce jsou stále platná, ale tabulky systému musejí být aktualizovány.
- %W
- Kolikrát byl proces odstránkován z paměti.
- %c
- Kolikrát proces nedobrovolně změnil kontext (protože vypršel přidělený čas).
- %w
- Počet čekání: kolikrát program dobrovolně změnil kontext, např. při čekání na dokončení I/O operace.
I/O
- %I
- Number of file system inputs by the process.
- %O
- Number of file system outputs by the process.
- %r
- Počet zpráv socketů přijatých procesem.
- %s
- Počet zpráv socketů odeslaných procesem.
- %k
- Počet signálů doručených procesu.
- %C
- (Není v tcsh.) Jméno a argumenty příkazové řádky časovaného příkazu.
- %x
- (Není v tcsh.) Návratová hodnota příkazu.
Volby GNU¶
- -f FORMÁT, --format=FORMÁT
- Určuje výstupní formát, má přednost před určením formátu proměnnou prostředí TIME.
- -p, --portability
- Použije přenositený výstupní formát.
- -o SOUBOR, --output=SOUBOR
- Neposílá výsledek na stderr, ale přepíše určený soubor.
- -a, --append
- (Použito společně s -o.) Nepřepíše soubor, připojí výsledek k němu.
- -v, --verbose
- Ukecaný výstup obsahující vše, o čem program ví.
Standardní volby GNU¶
- --help
- Vypíše návod k použití na standardní výstup a bezchybně skončí.
- -V, --version
- Vypíše číslo verze na standardní výstup a bezchybně skončí.
- --
- Konec seznamu voleb.
CHYBY¶
Některé zdroje nejsou v některých verzích Unixu měřeny, takže některé hodnoty mohou být nahlášeny jako nuly. Současný výběr byl z velké části inspirován daty, které poskytují verze 4.2 nebo 4.3BSD.
GNU time ve verzi 1.7 ještě není lokalizován. Tudíž neimplementuje požadavky POSIX.
Proměnná prostředí TIME byla vybrána špatně. Není nezvyklé, že systémy jako autoconf(1) nebo make(1) používají proměnnou prostředí s názvem programu k určení utility, která má být použita. Použití proměnných jako MORE nebo TIME pro volby programů (namísto úplných cest k programům) často způsobuje potíže.
To, že -o přepisuje namísto připojení se zdá být jako nepříliš štastné řešení. (Tj. volba -a by měla být výchozí.)
Nápady a hlášení chyb v GNU
time posílejte na
bug-utils@prep.ai.mit.edu
Prosím uvedte verzi programu time, kterou získáte
spuštěním
time --version
a operační systém a použitý
překladač C.
DALŠÍ INFORMACE¶
TIRÁŽ¶
Tato stránka je součástí projektu Linux man-pages. Popis projektu a informace o hlášení chyb najdete na http://www.kernel.org/doc/man-pages/.
2008-11-14 |