Linuxのシステムリソースとパフォーマンス監視の徹底解説

  • URLをコピーしました!
目次

システムリソースとパフォーマンスの監視

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回出力します。

まとめ

システムのパフォーマンスをリアルタイムで監視することは、
パフォーマンスチューニングやトラブルシューティングにおいて非常に重要です。
uptimehtopvmstatiostatなどのコマンドを駆使することで、
システムのリソース状況を詳細に把握し、効率的にシステムを管理することが可能です。

    目次