GNU/Linux >> Linux Esercitazione >  >> Linux

12 Esempi di opzioni per il formato di output del comando ora UNIX / Linux

Il comando ora di Linux è utile per identificare il tempo impiegato da un comando.

Usando il comando time di Linux, puoi capire quanto tempo è stato impiegato per eseguire un comando, uno script di shell o qualsiasi altro programma.

Per impostazione predefinita, il comando time esegue il comando o il programma specificato. Dopo l'esecuzione, visualizza le statistiche e l'utilizzo delle risorse sull'errore standard.

Il comando Time fornisce diverse opzioni della riga di comando e varie opzioni di formato, come spiegato in questo tutorial

1. Esempio di utilizzo di base del comando dell'ora

Sintassi del comando dell'ora:

$ time [-options] <command arg1 arg2 ..>

Ad esempio, il comando time viene eseguito sul comando sleep senza alcuna opzione.

$ /usr/bin/time sleep 2
0.00user 0.00system 0:02.00elapsed 0%CPU (0avgtext+0avgdata 2288maxresident)k
0inputs+0outputs (0major+172minor)pagefaults 0swaps

Comprendiamo ora alcune importanti opzioni della riga di comando di questo comando.

2. Scrivi l'output delle statistiche temporali su un file usando l'opzione -o

Questa opzione limita l'invio dei risultati del comando all'errore standard, ma scrive i risultati nel file di output. Questa opzione sovrascrive il file specificato.

Ecco un esempio :

$ /usr/bin/time -o time.txt sleep 2

$ cat time.txt
0.00user 0.00system 0:02.00elapsed 0%CPU (0avgtext+0avgdata 2288maxresident)k
0inputs+0outputs (0major+175minor)pagefaults 0swaps

3. Aggiungi l'output delle statistiche temporali a un file esistente usando l'opzione -a

Questa opzione consente di aggiungere l'output del comando dell'ora in un file. Viene utilizzato insieme all'opzione -o. Questa opzione evita la sovrascrittura del contenuto del file di output aggiungendo l'output del comando time nel file di output specificato.

Ecco un esempio :

$ /usr/bin/time -a -o time.txt sleep 4

$ cat time.txt
0.00user 0.00system 0:02.00elapsed 0%CPU (0avgtext+0avgdata 2288maxresident)k
0inputs+0outputs (0major+175minor)pagefaults 0swaps
0.00user 0.00system 0:04.00elapsed 0%CPU (0avgtext+0avgdata 2288maxresident)k
0inputs+0outputs (0major+176minor)pagefaults 0swaps

4. Visualizza Percentuale di CPU utilizzata – %P

È possibile fornire scelte di formattazione dell'output utilizzando l'opzione -f. Questa opzione consente all'utente di fornire opzioni di formattazione dell'output. Probabilmente esegue l'override del formato specificato nella variabile di ambiente TIME. Di seguito sono descritte le seguenti opzioni di formattazione:%P, %M, %S, %e, %E, %C, %Z, %c, %x.

Questa opzione fornisce la percentuale della CPU che il processo di comando (cioè eseguito sotto comando a tempo) ha ottenuto per la sua esecuzione. Questo è solo il tempo utente + sistema diviso per il tempo di esecuzione totale. Stampa anche un segno di percentuale.

$ /usr/bin/time -f "\t%P CPU Percentage" find / -name my-program.sh
/root/my-program.sh
        82% CPU Percentage

Qui, l'output del comando mostra che il comando trova ha richiesto l'82% della CPU.

5. Visualizza la dimensione massima del set residente:%M

Questa opzione fornisce la dimensione massima impostata residente del processo di comando (cioè eseguito sotto il comando time) durante la sua vita, in Kilobyte.

$ /usr/bin/time -f "\t%M Max Resident Set Size (Kb)" find / -name my-program.sh
/root/my-program.sh
        8688 Max Resident Set Size (Kb)

Qui, l'output del comando mostra che il comando trova ha richiesto 8688 KB come dimensione massima residente del processo.

6. Visualizza il numero totale di secondi CPU – %S

Questa opzione fornisce il numero totale di secondi CPU utilizzati dal sistema per conto del processo (in modalità kernel), in secondi.

$ /usr/bin/time -f "\t%S CPU-seconds" find / -name my-program.sh
/root/my-program.sh
        0.35 CPU-seconds

Qui, l'output del comando mostra che il comando trova ha impiegato 0,35 secondi di CPU in modalità kernel.

7. Visualizza il tempo reale trascorso in secondi:%e

Questa opzione fornisce il tempo reale trascorso (es. orologio da parete) utilizzato dal processo, in secondi.

$ /usr/bin/time -f "\t%e Elapsed Real Time (secs)" sleep 2
        2.00 Elapsed Real Time (secs)

Qui, l'output del comando mostra che l'esecuzione del comando di sospensione è trascorsa fino a 2 secondi.

8. Visualizza il tempo reale trascorso in un formato diverso:%E

Questa opzione fornisce il tempo reale trascorso (cioè l'orologio da parete) utilizzato dal processo, in questo formato:[ore:]minuti:secondi.

$ /usr/bin/time -f "\t%E Elapsed Real Time (format)" sleep 2
        0:02.00 Elapsed Real Time (format)

Qui, l'output del comando mostra che l'esecuzione del comando di sospensione ha richiesto 0 ore, 0 minuti e 2 secondi.

9. Visualizza il nome del programma e gli argomenti della riga di comando – %C

Questa opzione fornisce il nome e gli argomenti della riga di comando del comando (ad es. eseguito con il comando time).

$ /usr/bin/time -f "\t%C (Program Name and Command Line)" find / -name my-program.sh
/root/my-program.sh
        find / -name my-program.sh test_time (Program Name and Command Line)

Qui, l'output del comando time mostra il nome del comando in esecuzione e gli argomenti della riga di comando.

10. Visualizza le dimensioni della pagina del sistema in byte:%Z

Questa opzione fornisce la dimensione della pagina del sistema, in byte. Questa è una costante per sistema, ma può variare da un sistema all'altro.

$ /usr/bin/time -f "\t%Z System Page Size (bytes)" sleep 2
        4096 System Page Size (bytes)

Qui, l'output del comando mostra che il comando sleep utilizzava 4096 byte come dimensione della pagina di sistema.

11. Visualizza il numero di cambi di contesto – %c

Questa opzione indica il numero di volte in cui il processo è stato modificato dal contesto involontariamente (perché l'intervallo di tempo è scaduto).

$ /usr/bin/time -f "\t%c Context Switches" find / -name my-program.sh
/root/my-program.sh
        254 Context Switches

Qui, l'output del comando mostra che 254 volte il cambio di contesto del processo ha avuto luogo durante l'esecuzione del comando trova sotto il comando tempo.

12. Visualizza lo stato di uscita di un comando – %x

Questa opzione fornisce lo stato di uscita del comando (ad es. eseguito con il comando time).

$ /usr/bin/time -f "\t%x Exit Status" top1
/usr/bin/time: cannot run top1: No such file or directory
        127 Exit Status

Qui, l'output del comando mostra che il comando top1 non è riuscito perché questo file top1 non esiste.

Come per la pagina man del comando time, lo stato di uscita del comando time può essere il seguente:

  • Se è stato richiamato il comando specificato in time command, lo stato di uscita è lo stato di uscita del comando eseguito con il comando time.
  • È 127 se non è stato possibile trovare il comando specificato in time command.
  • 126 se è stato possibile trovare il comando specificato per il comando time ma non è stato possibile richiamarlo.
  • Qualche altro valore diverso da zero (1-125) se qualcos'altro è andato storto.

Infine, c'è una differenza tra l'esecuzione solo di "time" e "/usr/bin/time". Lo abbiamo spiegato nella nostra precedente introduzione all'articolo sul comando del tempo.


Linux
  1. UNIX / Linux:10 esempi di comandi Netstat

  2. 7 Esempi di comandi Linux df

  3. 5 Esempi di comandi traceroute UNIX/Linux

  4. 10 Esempi di comandi Xargs in Linux / UNIX

  5. Esempi di comandi rm in Linux

Comando dell'ora di Linux

11 Esempi utili di comandi data di Linux

Esempi di comandi echo Linux

Esempi di comandi data di Linux

Esempi di comandi id in Linux

Esempi di comandi timedatectl in Linux