システムリソースとパフォーマンスの監視
Linuxでシステムのリソースやパフォーマンスを監視することは、
サーバーやコンピュータの安定した運用に不可欠です。
この記事では、代表的な監視コマンドを紹介し、それぞれの使い方や結果の読み方をわかりやすく解説します。
uptime
: システムの稼働時間を表示
uptime
コマンドは、システムがどのくらい稼働しているか、
現在の時間、稼働時間、ログイン中のユーザー数、そして「ロードアベレージ」(平均負荷)を表示します。
基本構文:
uptime
実行例と結果:
12:34:56 up 2 days, 5:12, 3 users, load average: 0.15, 0.10, 0.09
- 時間: 現在のシステム時刻。
- 稼働時間: システムが再起動してからの時間。
- ユーザー数: ログイン中のユーザー数。
- ロードアベレージ: 過去1分、5分、15分の間にどれだけシステムに負荷がかかっているかを示す値。値が1を超えると、CPUに負荷がかかっていることを意味します。
htop
: プロセスとシステムリソースをリアルタイムで監視
htop
は、プロセスの監視を行うためのインタラクティブなツールで、top
コマンドの改良版です。
システムリソースの利用状況(CPU、メモリ、スワップメモリなど)をグラフィカルに表示し、直感的に操作できます。
基本構文:
htop
使い方:
- 上下キーでプロセスを選択。
- F9キーでプロセスを終了。
- F6キーで並べ替え条件を変更(CPU使用率、メモリ使用率など)。
htop
は、パフォーマンスの低下原因を特定するのに便利です。
例えば、メモリリークやCPU過負荷のプロセスを発見しやすくなります。
vmstat
: 仮想メモリ、プロセス、CPUの統計情報を表示
vmstat
は、システムの全体的なパフォーマンスを把握するためのツールで、
メモリ、CPU、I/O、プロセスの状態を確認できます。
基本構文:
vmstat [interval] [count]
オプション:
interval
: 情報を更新する秒数。count
: 情報を取得する回数。
実行例:
vmstat 5 10
5秒ごとに10回、システムの状態を出力します。
各フィールドには以下のような意味があります。
- r: 実行可能なプロセスの数。
- free: 空きメモリの量(KB)。
- si/so: スワップインとスワップアウトのデータ量。
- us/sy/id: ユーザーモード、システムモード、アイドル状態のCPU時間の割合。
vmstat
は、メモリやCPU使用量の監視に特に有用で、
特にスワップの過剰使用によるパフォーマンス低下を確認できます。
iostat
: CPUの使用状況とディスクI/Oの統計を表示
iostat
は、CPUの使用状況と、ディスク入出力のパフォーマンスを監視するためのコマンドです。
ディスクI/Oのボトルネックを特定する際に非常に有効です。
基本構文:
iostat [interval] [count]
オプション:
-c
: CPUの統計情報のみを表示。-d
: ディスクの統計情報のみを表示。
実行例:
iostat -d 5 3
5秒ごとに3回、ディスクI/Oのパフォーマンスを出力します。
主な出力フィールドは次のとおりです。
- tps: 1秒あたりの転送数。
- kB_read/s/kB_wrtn/s: 読み取り・書き込みのスループット(KB/s)。
その他の有用なコマンド
free
: メモリ使用状況の表示
free -h
システムのメモリ使用状況を表示します。
オプション-h
を使用することで、読みやすい単位(KB, MB, GB)で出力されます。
sar
: システムの全体的なパフォーマンス監視
sar -u 5 3
5秒ごとにCPUの使用状況を3回出力します。
まとめ
システムのパフォーマンスをリアルタイムで監視することは、
パフォーマンスチューニングやトラブルシューティングにおいて非常に重要です。uptime
、htop
、vmstat
、iostat
などのコマンドを駆使することで、
システムのリソース状況を詳細に把握し、効率的にシステムを管理することが可能です。