GNU/Linux >> LINUX-Kenntnisse >  >> Linux

In welcher Zeiteinheit zeigt strace die in Systemaufrufen verbrachte Zeit an?

Aus dem Quellcode:

if (Tflag) {
    ts_sub(ts, ts, &tcp->etime);
    tprintf(" <%ld.%06ld>",
        (long) ts->tv_sec, (long) ts->tv_nsec / 1000);
}

Das bedeutet, dass die Zeit in Sekunden angezeigt wird, mit Mikrosekunden (berechnet aus dem Nanosekundenwert) nach dem Komma.


Wenn Sie laufen

strace -T  sleep 2

Sie werden sehen

nanosleep({tv_sec=2, tv_nsec=0}, NULL)  = 0 <2.000230>

es sieht also so aus, als würde die aufgewendete Zeit in Sekunden angegeben.


Wenn Sie den Befehl strace ausführen mit dem "flag -c" zeigt es Ihnen eine Tabelle und die Zeit wird in Sekunden angegeben :

strace -c -p 3569 # 3569 is PID
strace: Process 3569 attached
^Cstrace: Process 3569 detached
% time     seconds  usecs/call     calls    errors syscall
------ ----------- ----------- --------- --------- ----------------
99.73    0.016000           8      1971           poll
0.16    0.000025           0       509        75 futex
0.06    0.000010           0      1985      1966 recvmsg
0.06    0.000009           0      2336           mprotect
0.00    0.000000           0       478           read
0.00    0.000000           0        13           write
0.00    0.000000           0        29           mmap
0.00    0.000000           0         9           munmap
0.00    0.000000           0        18           writev
0.00    0.000000           0       351           madvise
0.00    0.000000           0         1           restart_syscall
------ ----------- ----------- --------- --------- ----------------
100.00    0.016044                  7700      2041 total

von strace's man

-c

Zählen Sie Zeit, Aufrufe und Fehler für jeden Systemaufruf und melden Sie eine Zusammenfassung beim Beenden des Programms. Unter Linux versucht dies, die Systemzeit (CPU-Zeit, die im Kernel läuft) unabhängig von der Uhrzeit anzuzeigen. P>

Linux
  1. Wann wurde der Shellshock-Fehler (cve-2014-6271/7169) eingeführt und welcher Patch behebt ihn vollständig?

  2. Linux – Welche Dateisysteme unter Linux speichern die Erstellungszeit?

  3. Was passiert, wenn ich den Befehl Cat /proc/cpuinfo ausführe?

  4. Tune2fs:In welcher Zeitzone wurde das Datum erstellt und kann es geändert werden?

  5. Welche Bedeutung hat caddr_t und wann wird es verwendet?

Bash-insulter – Ein Skript, das den Benutzer beleidigt, wenn er einen falschen Befehl eingibt

So finden Sie heraus, wann die Spfile auf einem Linux-Server erstellt wurde

Was ist diese Summe in der allerersten Zeile nach ls -l?

Timen Sie die Ausführungszeit mehrerer Befehle

Was passiert, wenn eine Datei, die zu 100 % in den Seitencache eingelagert ist, von einem anderen Prozess geändert wird

Was genau bedeuten die Farben in den Statusleisten von htop?