time(1)

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

SINTASSI
time [option ...] command [argument ...]

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 infomazioni simili sull'utilizzazione del tempo e forse anche altre risorse. 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
If command was invoked, the exit status is that of command. Otherwise, it is 127 if command could not be found, 126 if it could be found but could not be invoked, and some other nonzero value (1–125) if something else went wrong.

AMBIENTE
Le variabili LANG, LC_ALL, LC_CTYPE, LC_MESSAGES, LC_NUMERIC e NLSPATH sono usate per il testo e per la formattazione dell'output. PATH è usata per la ricerca del comando.

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(1).) 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 chilobyte.

%t  (Non in tcsh(1).) Dimensione media dell'insieme residente del processo, in chilobyte.

%K  Media totale (data+stack+text) della memoria usata dal processo, in chilobytes.

%D  Dimensione media delle aree dati non condivise dei processi, in chilobyte.

%p  (Non in tcsh(1).) Dimensione media dello spazio stack non condiviso dei processi in chilobyte.

%X  Dimensione media dello spazio di testo condiviso dei processi, in chilobyte.

%Z  (Non in tcsh(1).) 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(1).) Nome e argomenti da riga di comando del comando che è stato misurato.

%x  (Non in tcsh(1).) Stato di uscita 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.

-q, --quiet
    Non riporta l'interruziona anomala del programma (dove comando è stato interrotto da un segnale) o da uno stato d'uscita diverso da zero.

  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-time@gnu.org. Per favore includere la versione di time, che si può ottenere eseguendo

    time --version

e il sistema operativo e compilatore C usati.

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

TRADUZIONE
La traduzione italiana di questa pagina di manuale è stata creata da Giulio Daprelà <giulio@pluto.it>, Elisabetta Galli <lab@kkk.it> e Marco Curreli <marcocurreli@tiscali.it>

Questa traduzione è documentazione libera; leggere la GNU General Public License Versione 3 (https://www.gnu.org/licenses/gpl-3.0.html) o successiva per le condizioni di copyright. Non ci assumiamo alcuna responsabilità.

Per segnalare errori nella traduzione di questa pagina di manuale inviare un messaggio a pluto-ildp@lists.pluto.it.