システムリソースとパフォーマンスの監視
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などのコマンドを駆使することで、
システムのリソース状況を詳細に把握し、効率的にシステムを管理することが可能です。
