Skip to content

GNU time ...

In den "Core Utilities" der meisten Linuxdistributionen findet sich das Tool GNU time (ja, die Homepage ist ein bisschen, nun, ..., nichtssagend).

Das time-Kommando als eingebautes Kommando der Bash (oder anderer Shells) kennen viele, auch die charakteristische Ausgabe:

$ time bash
$ exit

real    0m2.608s
user    0m0.137s
sys     0m0.326s


Ein wenig gesprächiger ist GNU time:

$ /usr/bin/time bash
$ exit
0.18user 0.37system 0:04.17elapsed 13%CPU (0avgtext+0avgdata 3736maxresident)k
0inputs+80outputs (0major+96587minor)pagefaults 0swaps


Im "verbose-Modus" kann man dann aber schon richtig ordentlich Informationen abgreifen:

$ /usr/bin/time -v bash
$ exit
        Command being timed: "bash"
        User time (seconds): 0.11
        System time (seconds): 0.30
        Percent of CPU this job got: 12%
        Elapsed (wall clock) time (h:mm:ss or m:ss): 0:03.36
        Average shared text size (kbytes): 0
        Average unshared data size (kbytes): 0
        Average stack size (kbytes): 0
        Average total size (kbytes): 0
        Maximum resident set size (kbytes): 3732
        Average resident set size (kbytes): 0
        Major (requiring I/O) page faults: 0
        Minor (reclaiming a frame) page faults: 96806
        Voluntary context switches: 713
        Involuntary context switches: 155
        Swaps: 0
        File system inputs: 0
        File system outputs: 80
        Socket messages sent: 0
        Socket messages received: 0
        Signals delivered: 0
        Page size (bytes): 4096
        Exit status: 0


Die manpage gibt noch weitere Optionen an.

Trackbacks

Keine Trackbacks

Kommentare

Ansicht der Kommentare: Linear | Verschachtelt

Jens Kubieziel am :

*Bezüglich Zeit mag ich die Umgebungsvariable REPORTTIME der zsh. Dort wird eine Zahl gesetzt und wenn ein Befehl länger als die Zahl in Sekunden dauert, erhälst du zusätzlich eine Ausgabe von time (in dem Fall als builtin).

tux. am :

*Wie üblich hält sich dieser GNU-Krempel also auch hier nicht an den POSIX-Standard, der mit -v oder ähnlichen Parametern nicht viel anfangen kann (URL). Na, sei's drum.

Intern scheint time -v nicht viel anderes zu machen als den getrusage-Syscall aufzurufen. Unter den von mir eben kurz durchgetesteten BSDs lässt sich dafür übrigens time -l nutzen, zumindest unter OpenBSD ist das aber klar als nicht standardkonform erklärt. Der eingebaute time-Befehl von ksh88-basierten Shells (inkl. ksh93, OpenBSD ksh, mksh) kennt diesen Parameter standardkonform nicht.

Dirk Deimeke am :

*Über Standards habe ich gar nicht gesprochen, sondern darüber dass das Tool hilfreich ist.

tux. am :

*Du empfahlst GNU time als "gesprächige" Version, ich lieferte ein wenig Hintergrundinformationen sowie Hinweise auf die Alternativen unter anderen Systemen (und Shells). Dass es hilfreich sein kann, bezweifelt hier niemand.

Kommentar schreiben

Gravatar, Favatar, Pavatar, Identica, Twitter, MyBlogLog Autoren-Bilder werden unterstützt.
BBCode-Formatierung erlaubt
Umschließende Sterne heben ein Wort hervor (*wort*), per _wort_ kann ein Wort unterstrichen werden.
Standard-Text Smilies wie :-) und ;-) werden zu Bildern konvertiert.
Die angegebene E-Mail-Adresse wird nicht dargestellt, sondern nur für eventuelle Benachrichtigungen verwendet.
:'(  :-)  :-|  :-O  :-(  8-)  :-D  :-P  ;-) 
Formular-Optionen