GNU/Linux >> Belajar Linux >  >> Linux

Apa unit waktu yang digunakan strace saat menampilkan waktu yang dihabiskan di syscalls?

Dari kode sumber:

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

Artinya, waktu ditampilkan dalam detik, dengan mikrodetik (dihitung dari nilai nanodetik) setelah titik desimal.


Jika Anda menjalankan

strace -T  sleep 2

Anda akan melihat

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

jadi sepertinya waktu yang dihabiskan dalam hitungan detik.


Jika Anda menjalankan perintah strace menggunakan "flag -c" itu akan menunjukkan kepada Anda sebuah tabel dan waktu dilaporkan dalam detik :

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

dari pria strace

-c

Hitung waktu, panggilan, dan kesalahan untuk setiap panggilan sistem dan laporkan ringkasan saat keluar dari program. Di Linux, ini mencoba untuk menunjukkan waktu sistem (waktu CPU yang dihabiskan untuk berjalan di kernel) terlepas dari waktu jam dinding. Jika -c digunakan dengan -f atau -F (di bawah), hanya total agregat untuk semua proses yang dilacak yang disimpan.


Linux
  1. Kapan Bug Shellshock (cve-2014-6271/7169) Diperkenalkan, Dan Apa Patch yang Memperbaikinya Sepenuhnya?

  2. Linux – Sistem File Apa di Linux yang Menyimpan Waktu Pembuatan?

  3. Apa Yang Terjadi Saat Saya Menjalankan Perintah Cat /proc/cpuinfo?

  1. Apa yang Terjadi Saat Saya Mengeksekusi File Di Shell?

  2. Tune2fs:Di Zona Waktu Apa Tanggal Dibuat Dan Apakah Mungkin Untuk Mengubahnya?

  3. Cara Menemukan Saat Spfile Dibuat Di Server Linux

  1. Berapa totalnya di baris pertama setelah ls -l?

  2. Apa unit ukuran default di linux ls -l perintah

  3. Atur waktu waktu eksekusi beberapa perintah