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:
Ein wenig gesprächiger ist GNU time:
Im "verbose-Modus" kann man dann aber schon richtig ordentlich Informationen abgreifen:
Die manpage gibt noch weitere Optionen an.
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
$ 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
$ 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
$ 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.
Kommentare
Ansicht der Kommentare: Linear | Verschachtelt
Jens Kubieziel am :
Dirk Deimeke am :
Danke Jens!
tux. am :
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 :
tux. am :