Scroll to navigation

TIME(1) TIME(1)

NOME

time - temporizza un semplice comando o informa sull'uso delle risorse

SINTASSI

time [opzioni] comando [argomenti...]

DESCRIZIONE

Il comando time esegue il programma comando specificato con gli argomenti dati. Quando comando termina, time scrive un messaggio sullo standard error, che fornisce le statistiche di timing sull'esecuzione del programma. Queste statistiche consistono nel (i) tempo reale trascorso tra invocazione e termine, (ii) tempo utente della CPU (la somma dei valori di tms_utime e tms_cutime in formato struct tms come viene restituito da times(2)), e (iii) tempo di sistema della CPU (la somma dei valori di tms_stime e tms_cstime in formato struct tms come viene restituito da times(2)).

OPZIONI

Quando si è in ambiente POSIX usare l'esatto formato tradizionale

"real %f\nuser %f\nsys %f\n"

(con numeri in secondi) dove il numero di decimali nell'output per %f non è specificato, ma è almeno uno, ed è sufficiente per esprimere l'accuratezza dell'orologio.

STATO DI USCITA

Se è stato invocato il comando lo stato di uscita è quello del comando. Altrimenti è 127 se comando non può essere trovato, 126 se può essere trovato ma non può essere invocato, e qualche altro valore non-zero (1-125) se qualcosa è andato storto.

AMBIENTE

Le variabili LANG, LC_ALL, LC_CTYPE, LC_MESSAGES, LC_NUMERIC, NLSPATH e PATH sono utilizzate. L'ultima serve per la ricerca del comando. Le rimanenti per il testo e la formattazione dell'output.

VERSIONE GNU

Di seguito una descrizione della versione GNU 1.7 di time. Indipendentemente dal nome dell'utilità GNU emette molte informazioni utili, non solo sul tempo utilizzato, ma anche su altre risorse come memoria, I/O e chiamate IPC (ove disponibili). L'output è formattato usando un formato stringa che può essere specificato usando l'opzione -f o la variabile d'ambiente TIME.

Il formato stringa predefinito è

%Uuser %Ssystem %Eelapsed %PCPU (%Xtext+%Ddata %Mmax)k
%Iinputs+%Ooutputs (%Fmajor+%Rminor)pagefaults %Wswaps

Quando è data l'opzione -p è usato il formato di output (portabile)

real %e
user %U
sys %S

Il formato stringa

Il formato è interpretato nel solito modo in stile printf. I caratteri ordinari sono copiati direttamente, tab, newline e backslash vengono generati con i caratteri di escape usando \t, \n e \\, un segno di percentuale è rappresentato da %%, mentre invece % indica una conversione. Il programma time aggiungerà sempre da sè una newline finale. Seguono le conversioni. Sono supportate tutte quelle usate da tcsh(1).

Tempo

%E
Tempo reale trascorso (in [ore:]minuti:secondi).
%e
(Non in tcsh.) Tempo reale trascorso (in secondi).
%S
Numero totale di secondi-CPU che il processo ha speso in kernel mode.
%U
Numero totale di secondi-CPU che il processo ha speso in user mode.
%P
Percentuale di CPU che questo lavoro ha preso, conteggiata come (%U + %S) / %E.

Memoria

%M
Massima dimensione dell'insieme residente del processo durante la sua esistenza, in Kbyte.
%t
(Non in tcsh.) Dimensione media dell'insieme residente del processo, in Kbyte.
%K
Media totale (data+stack+text) della memoria usata dal processo, in Kbytes.
%D
Dimensione media delle aree dati non condivise dei processi, in Kbyte.
%p
(Non in tcsh.) Dimensione media dello spazio stack non condiviso dei processi, in Kbyte.
%X
Dimensione media dello spazio di testo condiviso dei processi, in Kbyte.
%Z
(Non in tcsh.) Dimensione della pagina di sistema, in byte. Questa è una costante di sistema, ma varia tra i sistemi.
%F
Numero di errori maggiori di pagina accaduti durante il funzionamento del processo. Essi sono errori in cui la pagina deve essere registrata dal disco.
%R
Numero di errori minori di pagina, o recuperabili. Essi sono errori per pagine che non sono valide ma che non sono ancora state reclamate da altre pagine virtuali. Di conseguenza il dato nella pagina è ancora valido, ma le tabelle di sistema devono venire aggiornate.
%W
Numero di volte che il processo è stato spostato fuori dalla memoria principale.
%c
Numero di volte che il processo è stato scambiato involontariamente nel contesto (perché la porzione di tempo è scaduta).
%w
Numero di attese: volte che il programma è stato scambiato volontariamente nel contesto, per esempio mentre era in attesa del completamente di un'operazione di I/O.

I/O

%I
Numero di input del processo nel file system.
%O
Numero di output del processo nel file system.
%r
Numero di messaggi di socket ricevuti dal processo.
%s
Numero di messaggi di socket inviati dal processo.
%k
Numero di segnali recapitati al processo.
%C
(Non in tcsh.) Nome argomenti da linea di comando del comando che è stato misurato.
%x
(Non in tcsh.) Exit status del comando.

Opzioni GNU

Specifica il formato di output, possibilmente sovrascrivendo il formato specificato nella variabile d'ambiente TIME.
Usa il formato di output portabile.
Non invia i risultati a stderr, ma sovrascrive il file specificato.
(Usato assieme a -o.) Non sovrascrive ma aggiunge.
Fornisce un output con molti dettagli su tutto ciò che il programma sa.

Opzioni GNU standard

Stampa un messaggio di uso sullo standard output ed esce con successo.
Stampa informazioni sulla versione sullo standard output ed esce con successo.
--
Termina l'elenco delle opzioni.

BACHI

Non tutte le risorse sono misurate da tutte le versioni di Unix, perciò alcuni valori potrebbero essere riportati come zeri. La presente selezione è stata ispirata per la maggior parte dai dati forniti dalle versioni 4.2 o 4.3 di BSD.

GNU time versione 1.7 non è ancora localizzata. Perciò non implementa i requisiti POSIX.

La variabile d'ambiente TIME è stata scelta malamente. Non è inusuale per sistemi come autoconf(1) o make(1) usare variabili d'ambiente con il nome di un'utilità per sovrascrivere l'utilità da usare. Usi come MORE o TIME per le opzioni di programmi (invece dei nomi di percorso del programma) tende a generare difficoltà.

Sembra sfortunato che -o sovrascriva invece di aggiungere. (Perciò l'opzione -a dovrebbe essere il default.)

Inviare suggerimenti via posta e rapporti di errore per il comando GNU time a
bug-utils@prep.ai.mit.edu
Per favore includere la versione di time, che si può avere eseguendo
time --version
e il sistema operativo e compilatore C usati.

VEDERE ANCHE

tcsh(1), times(2), wait3(2)

12-novembre-2000