Red Hat Training
A Red Hat training course is available for RHEL 8
39.2. SystemTap でネットワークソケットコードで呼び出される関数のトレース
socket-trace.stp
のサンプルの SystemTap スクリプトを使用して、カーネルの net/socket.c ファイルから呼び出された関数を追跡できます。これにより、各プロセスがカーネルレベルでネットワークとどのように相互作用するかを、詳細に把握できます。
前提条件
- SystemTap のインストール の説明に従って、SystemTap をインストールしている。
手順
socket-trace.stp
スクリプトを実行します。# stap --example socket-trace.stp
socket-trace.stp
スクリプトの 3 秒の抜粋は、以下のようになります。[...] 0 Xorg(3611): -> sock_poll 3 Xorg(3611): <- sock_poll 0 Xorg(3611): -> sock_poll 3 Xorg(3611): <- sock_poll 0 gnome-terminal(11106): -> sock_poll 5 gnome-terminal(11106): <- sock_poll 0 scim-bridge(3883): -> sock_poll 3 scim-bridge(3883): <- sock_poll 0 scim-bridge(3883): -> sys_socketcall 4 scim-bridge(3883): -> sys_recv 8 scim-bridge(3883): -> sys_recvfrom 12 scim-bridge(3883):-> sock_from_file 16 scim-bridge(3883):<- sock_from_file 20 scim-bridge(3883):-> sock_recvmsg 24 scim-bridge(3883):<- sock_recvmsg 28 scim-bridge(3883): <- sys_recvfrom 31 scim-bridge(3883): <- sys_recv 35 scim-bridge(3883): <- sys_socketcall [...]