プロセスをstraceで追跡する


1.nohupを使用してstraceをバックグラウンドに移行し、attach上のphp-fpmプロセスが死ぬまで実行します.
nohup strace -T -p 13167 > 13167-strace.log &

パラメータの説明:
-c各システム呼び出しの実行時間、回数、エラーの回数などを統計する.d straceの標準エラーに関するデバッグ情報を出力する.f fork呼び出しによって生成されたサブプロセスを追跡する.o filename、すべてのプロセスの追跡結果が対応するfilename-Fに出力vfork呼び出しの追跡を試みる.-fではvforkは追跡されない.h簡単なヘルプ情報を出力します.-iシステム呼び出しのエントリポインタを出力する.q離脱に関するメッセージの出力を禁止する.r相対時間説明を印刷する、各システムが呼び出す.tは、出力中の各行の前に時間情報を付加する.tt出力中の各行に時間情報を加え、マイクロ秒レベルである.-tttマイクロ秒レベルの出力は、時間を秒で表す.Tは、各呼び出しにかかる時間を表示する.vすべてのシステム呼び出しを出力する.環境変数、状態、入出力などの呼び出しは頻繁に使用されるため、デフォルトでは出力されません.-Vはstraceのバージョン情報を出力する.-x非標準文字列を16進数で出力-xxすべての文字列を16進数で出力-a columnは、戻り値の出力位置を設定.デフォルトは40です.e execveはexecveのようなシステム呼び出し-pメインプロセス番号のみを記録する
2.-cパラメータを利用してstraceのまとめを助けることもでき、非常に便利で強力です!
[root@b28-12 log]# strace -cp 9907
Process 9907 attached - interrupt to quit
Process 9907 detached
% time     seconds  usecs/call     calls    errors syscall
------ ----------- ----------- --------- --------- ----------------
56.61    0.016612           5      3121           read
11.11    0.003259           1      2517       715 stat
  8.04    0.002358           7       349           brk
  6.02    0.001767           1      1315           poll
  4.28    0.001255           6       228           recvfrom
  2.71    0.000796           1       671           open
  2.54    0.000745           0      2453           fcntl
  2.37    0.000696           1      1141           write
  1.69    0.000497           1       593        13 access
  1.37    0.000403           0      1816           lseek
  0.89    0.000262           1       451        22 sendto
  0.56    0.000163           1       276       208 lstat
  0.49    0.000145           0       384           getcwd
  0.31    0.000090           0      1222           fstat
  0.28    0.000082           0       173           munmap
  0.26    0.000077           0       174           mmap
  0.24    0.000069           2        41           socket
  0.23    0.000068           0       725           close
  0.00    0.000000           0        13           rt_sigaction
  0.00    0.000000           0        13           rt_sigprocmask
  0.00    0.000000           0         1           rt_sigreturn
  0.00    0.000000           0        78           setitimer
  0.00    0.000000           0        26        26 connect
  0.00    0.000000           0        15         2 accept
  0.00    0.000000           0        39           recvmsg
  0.00    0.000000           0        26           shutdown
  0.00    0.000000           0        13           bind
  0.00    0.000000           0        13           getsockname
  0.00    0.000000           0        65           setsockopt
  0.00    0.000000           0        13           getsockopt
  0.00    0.000000           0         8           getdents
  0.00    0.000000           0        26           chdir
  0.00    0.000000           0         1           futex
------ ----------- ----------- --------- --------- ----------------
100.00    0.029344                 18000       986 total


転載:https://segmentfault.com/a/1190000014696851?utm_source=tag-newest著者:風を追う