ファイルシステムのパフォーマンス可観測性ツール
理解のために小咄形式でまとめました。
システムパフォーマンス関連記事の目次
登場人物
- 太郎(後輩):入社1年目の若手エンジニア。
- 花子(先輩):システムエンジニア歴3年の先輩。
場面:オフィスの開発ルーム
太郎が ファイルシステムのパフォーマンス可観測性ツール
に関する資料を見ながら、花子に質問する。
太郎:「花子先輩、ファイルシステムのパフォーマンスを監視
するための パフォーマンス可観測性ツール
って、どんなものがありますか?」
花子:「いい質問ね! ファイルシステムのパフォーマンス可観測性ツール
は、 I/O の状態やファイルのアクセスパターンを監視するため
に使われるわ。 代表的なツール 10 種類
を紹介するわね。」
ファイルシステムのパフォーマンス可観測性ツール
花子:「パフォーマンス可観測性ツール
には、 ファイルシステムの状態や I/O の動作を調査するため
の 10 の主要なツール
があるの。」
- mount:マウント情報を確認
- free:メモリとキャッシュの統計情報
- top:システムの全体的なリソース使用状況
- vmstat:CPU、メモリ、I/O の統計情報
- sar:経時的なシステムパフォーマンスの監視
- slabtop:カーネルスラブキャッシュの統計情報
- strace:プロセスのシステムコールをトレース
- fatrace:ファイルシステムオペレーションのトレース
- LatencyTOP:システムのレイテンシを分析
- opensnoop:ファイルのオープン操作を監視
1. mount
花子:「mount
コマンドは、 システムにマウントされているファイルシステムの一覧
を表示するのに使うわ。」
- マウントされているファイルシステムの種類やオプションを確認できる。
mount | column -t
を使うと、見やすく表示できる。
「これは 地図アプリで、現在地の周辺の建物情報を見る
のと似てるわね。」
2. free
花子:「free
コマンドは、 メモリとキャッシュの統計情報を表示するツール
よ。」
- キャッシュやバッファの使用状況を確認できる。
free -h
を使うと、GB
やMB
単位でわかりやすく表示できる。
「例えば 冷蔵庫の収納状況をチェックする
のと同じで、 どれだけの空きスペースがあるか
を確認できるのよ。」
3. top
花子:「top
は システム全体のリソース使用状況をリアルタイムで監視するツール
よ。」
- CPU やメモリ、ロードアベレージを確認できる。
top -o %CPU
やtop -o %MEM
で、ソートして表示可能。
「これは 監視カメラで工場の稼働状況を見る
のと同じね。」
4. vmstat
花子:「vmstat
は CPU、メモリ、I/O の統計情報をリアルタイムで取得するツール
よ。」
vmstat 1 5
を使うと、1秒ごとに5回の統計情報を表示
できる。- CPUの使用率、スワップ、I/O の負荷を確認できる。
「これは 電力メーターを見て、電気の使用状況を確認する
のと似てるわ。」
5. sar
花子:「sar
は システムのパフォーマンス情報を経時的に記録し、分析するツール
よ。」
sar -u 1 5
で、1秒ごとの CPU 使用率を 5 回取得
できる。sar -d
で、ディスクの I/O 負荷を分析
できる。
「これは 天気予報の過去データを見る
のと同じで、 過去のパフォーマンスを振り返ることができる
のよ。」
6. slabtop
花子:「slabtop
は カーネルスラブキャッシュの使用状況をリアルタイムで表示するツール
よ。」
- カーネルが管理するキャッシュの詳細情報を取得できる。
slabtop -o
で、使用率の高いものをソート
できる。
「これは 倉庫の在庫管理リストをリアルタイムで見る
のと同じね。」
7. strace
花子:「strace
は プロセスのシステムコールをトレースするツール
よ。」
strace -p <PID>
で、特定のプロセスのシステムコールを監視。strace -e open,read,write ./myapp
で、ファイル I/O の動作を分析。
「これは レシートを見て、どこで何を買ったのかをチェックする
のと似てるわ。」
8. fatrace
花子:「fatrace
は ファイルシステムのオペレーションをトレースするツール
よ。」
fatrace -c
で、特定のプロセスのファイルアクセスを監視
。fatrace -t
で、タイムスタンプ付きでファイルアクセスを記録
。
「これは セキュリティカメラの履歴を確認する
のと同じね。」
9. LatencyTOP
花子:「LatencyTOP
は システムのレイテンシをリアルタイムで分析するツール
よ。」
LatencyTOP
を実行すると、プロセスごとの遅延の原因
が表示される。- I/O のボトルネックを特定するのに有効。
「これは レストランで、料理が遅れている原因を調べる
のと同じね。」
10. opensnoop
花子:「opensnoop
は ファイルのオープン操作を監視するツール
よ。」
opensnoop -p <PID>
で、特定のプロセスのファイルオープンを監視
。opensnoop
を実行すると、どのプロセスがどのファイルを開いたか
が表示される。
「これは ドアの開閉ログを記録する
のと同じね。」
まとめ
花子:「これらの パフォーマンス可観測性ツール
を活用することで、 システムの状態をリアルタイムで監視し、パフォーマンスのボトルネックを特定
できるわ。」
太郎:「ありがとうございます! strace
を使って、 アプリケーションの I/O 動作を調査
してみます!」
参考リンク
システムパフォーマンス関連記事の目次
システムパフォーマンス関連記事は、以下の書籍を参考に記述しています。