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 temporali sull'esecuzione del programma. Queste statistiche consistono nel (i) tempo reale trascorso tra chiamata e termine, (ii) tempo utente della CPU (la somma dei valori di tms_utime e tms_cutime in formato struct tms come 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 restituito da times(2)).

Nota: alcune shell (per esempio bash(1)) hanno un comando time precompilato che fornisce meno funzionalità rispetto al comando qui descritto. Per accedere al programma reale, potrebbe essere necessario specificarne il percorso (qualcosa come /usr/bin/time).

OPZIONI

-p  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 chiamato, e qualche altro valore diverso da 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 è indicata l'opzione -p, si usa 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. Sono errori in cui la pagina deve essere registrata dal disco.

%R  Numero di errori minori di pagina, o recuperabili. 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 filesystem.

%O  Numero di output del processo nel filesystem.

%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

-f FORMATO, --format=FORMATO
    Specifica il formato di output, possibilmente sovrascrivendo il formato specificato nella variabile d'ambiente TIME.

-p, --portability
    Usa il formato di output portabile.

-o FILE, --output=FILE
    Non invia i risultati a stderr, ma sovrascrive il file specificato.

-a, --append
    (Usato assieme a -o.) Non sovrascrive ma aggiunge.

-v, --verbose
    Fornisce un output con molti dettagli su tutto ciò che il programma sa.

  Opzioni GNU standard

--help
    Stampa un messaggio di uso sullo standard output ed esce con successo.

-V, --version
    Stampa informazioni sulla versione sullo standard output ed esce con successo.

--  Termina l'elenco delle opzioni.

BUG
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 quella predefinita).

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ò ottenere eseguendo
time --version
e il sistema operativo e compilatore C usati.

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

COLOPHON
Questa pagina fa parte del rilascio 3.73 del progetto Linux man-pages. Una descrizione del progetto, le istruzioni per la segnalazione degli errori, e l'ultima versione di questa pagina si trova su http://www.kernel.org/doc/man-pages/.

La versione italiana fa parte del pacchetto man-pages-it v. 3.73, a cura di: ILDP "Italian Linux Documentation Project" http://www.pluto.it/ildp
Per la traduzione in italiano si può fare riferimento a http://www.pluto.it/ildp/collaborare/
Segnalare eventuali errori di traduzione a ildp@pluto.it