Đơn vị thời gian mà strace sử dụng khi hiển thị thời gian ở các tòa nhà là gì?


10

Khi sử dụng lệnh stracevới cờ -T, tôi muốn biết đơn vị thời gian được sử dụng để hiển thị thời gian trong các tòa nhà là gì? Tôi cho rằng nó sẽ được tính bằng giây, nhưng tôi không chắc lắm và dường như nó được bỏ qua trong hướng dẫn.

Câu trả lời:


23

Từ mã nguồn :

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

Điều này có nghĩa là thời gian được hiển thị bằng giây, với micro giây (được tính từ giá trị nano giây) sau dấu thập phân.


13

Nếu bạn chạy

strace -T  sleep 2

Bạn sẽ thấy

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

vì vậy có vẻ như thời gian đã tính bằng giây.


6

Nếu bạn chạy lệnh stracebằng cách sử dụng "cờ -c", nó sẽ hiển thị cho bạn một bảng và thời gian được báo cáo sau vài giây :

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

từ người đàn ông của strace

-c

Đếm thời gian, cuộc gọi và lỗi cho mỗi cuộc gọi hệ thống và báo cáo tóm tắt về thoát chương trình. Trên Linux, điều này cố gắng hiển thị thời gian hệ thống (thời gian CPU chạy trong nhân) độc lập với thời gian đồng hồ treo tường. Nếu -c được sử dụng với -f hoặc -F (bên dưới), chỉ giữ tổng số tổng cho tất cả các quy trình được theo dõi.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.