Sistem çağrılarında harcanan zamanı görüntülerken strace'nin kullandığı zaman birimi nedir?


10

Komutu stracebayrakla birlikte kullanırken, -Tsistem çağrılarında harcanan zamanı görüntülemek için kullanılan zaman biriminin ne olduğunu bilmek isterim? Saniyeler içinde olması gerektiğini düşünüyorum, ama tam olarak emin değilim ve kılavuzdan çıkarılmış gibi görünüyor.

Yanıtlar:


23

Gönderen kaynak kodu :

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

Bu, sürenin ondalık noktadan sonra mikrosaniye (nanosaniye değerinden hesaplanan) ile saniye cinsinden gösterileceği anlamına gelir.


13

Eğer koşarsan

strace -T  sleep 2

göreceksin

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

yani harcanan zaman saniyeler içinde.


6

Komutu strace"flag -c" kullanarak çalıştırırsanız, size bir tablo gösterilir ve süre saniye olarak bildirilir :

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

askının adamından

-c

Her sistem çağrısı için zaman, çağrı ve hataları sayın ve program çıkışında bir özet raporlayın. Linux'ta bu, duvar saatinden bağımsız olarak sistem saatini (çekirdeğe harcanan CPU zamanı) göstermeye çalışır. -C, -f veya -F (aşağıda) ile kullanılırsa, yalnızca izlenen tüm işlemler için toplam toplamlar tutulur.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.