GNU/Linux >> Linux の 問題 >  >> Linux

システムコールに費やされた時間を表示するときに strace が使用する時間単位は何ですか?

ソースコードから:

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

これは、時間が秒単位で表示され、小数点の後にマイクロ秒 (ナノ秒の値から計算) が表示されることを意味します。


実行した場合

strace -T  sleep 2

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

費やされた時間は秒単位のようです。


コマンド strace を実行すると 「フラグ -c」を使用すると、テーブルが表示され、時間が で報告されます :

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

straceの男から

<ブロック引用>

-c

各システム コールの時間、呼び出し、およびエラーをカウントし、プログラムの終了時に要約を報告します。 Linux では、ウォール クロック時間とは無関係に、システム時間 (カーネルでの実行に費やされた CPU 時間) を表示しようとします。 P>

Linux
  1. 最後にWindowsを使用したのはいつですか。

  2. Shellshock(cve-2014-6271 / 7169)のバグが発生したのはいつですか?それを完全に修正するパッチは何ですか?

  3. Linux – Linux上のどのファイルシステムが作成時間を保存しますか?

  1. コマンドCat/proc / cpuinfoを実行するとどうなりますか?

  2. シェルでファイルを実行するとどうなりますか?

  3. Linux サーバーで Spfile がいつ作成されたかを確認する方法

  1. ls -l の後の最初の行の合計は?

  2. Linux ls -l コマンドのデフォルトのサイズ単位は何ですか

  3. 複数のコマンドの実行時間を計る