Linuxコマンド「strace」


straceコマンドはプロセスが呼び出すシステムコールをトレースすることで、不具合の手がかりを探すことができます。(Macであればsudo dtrussでシステムコールを確認できます)

sudo strace -tt -s 1024 -p [PID]

🏈 便利なオプション

straceのオプションをいくつか紹介します。

オプション 説明
-c システムコールの呼び出された回数、かかった時間などの統計情報を出力します
-e trace=xxx 特定のシステムコールに絞ってトレースできます
-o ファイルへ出力します
-p [PID] プロセスIDを指定します
-s 出力文字数を指定します
-tt 文頭にタイムスタンプをマイクロ秒単位で出力します

🗻 応用例

nginxがどの設定ファイルを開いているか

strace nginx 2>&1 | grep 'open' | grep '.cnf'

🍣 参考リンク

🖥 VULTRおすすめ

VULTR」はVPSサーバのサービスです。日本にリージョンがあり、最安は512MBで2.5ドル/月($0.004/時間)で借りることができます。4GBメモリでも月20ドルです。 最近はVULTRのヘビーユーザーになので、「ここ」から会員登録してもらえるとサービス開発が捗ります!

📚 おすすめの書籍