Linux

TCP接続を集約表示するlstfにプロセス情報を表示するオプションを追加

lstfとは、Linuxサーバ上でホスト間コネクションを集約表示するツール lstf をつくった - ゆううきメモ で紹介しているように、netstatやssコマンドで大量のネットワーク接続情報が表示されるときに、オペレーターが目視できないという課題に対して、接続を…

ftraceとperf probeの環境構築

Linuxカーネル内の関数のコールグラフを表示したり、ソースコードの行指定をして変数の値を出力したりするといったようなトレーシングをするために、トレーサーを利用する。 Linuxカーネルのトレーサーには、ftraceやperf、eBPFなどがある。Choosing a Linux…

LinuxでTCP/UDPコネクション状態にプロセス情報を紐付ける方法

Linuxでは、/proc/net/*やNetlinkソケットを通じて、TCP/UDPのコネクション情報を取得できる。 しかし、ここで取得したコネクション情報は、コネクションを保有するプロセスに関する情報(pidなど)を含んでいない。 ssコマンドの--extendedオプションは、inod…

TCP接続を集約表示するlstfでNetlinkにより実行速度が1.6倍になった

Linuxサーバ上でホスト間コネクションを集約表示するツール lstf をつくった - ゆううきメモ にて紹介したlstfのホスト上のTCPコネクション情報の取得処理において、/proc/net/tcpを読みだす代わりに、Netlinkソケットを利用することで、実行速度が1.6倍にな…

Linuxサーバ上でホスト間コネクションを集約表示するツール lstf をつくった

概要 netstatやssコマンドにより、あるホストと他のホストとのコネクションを一覧表示できる。しかし、Webシステムの場合、クライアントが並行接続するため、 同一ホストから複数のポートを介してコネクションを確立しているケースが多い。コネクション数が…

LinuxサーバでネットワークI/Oで刺さっている接続先を発見する

Linuxサーバの障害対応で社内で伝統的に使われているテクニック。I/Oで完全にブロックしているポイントを特定するノウハウ。 問題対応のため、怪しいプロセスをstraceしてみる read(2)やwrite(2)でブロックしていることを発見する read(2)やwrite(2)、connec…