Categories: linux

Linuxでリアルタイムにプロセス監視!topコマンドの使い方と活用術

Linuxで作業をしていると「今システムが重いけど、何が原因だろう?」と思ったことはありませんか?
そんなときに役立つのが、リアルタイムでプロセスやメモリ、CPU使用率を確認できるtopコマンドです。

topコマンドは、Linuxの管理者や開発者、運用担当者にとって欠かせないツールであり、システムリソースの状況を素早く把握するために広く利用されています。本記事では、topコマンドの基本的な使い方から、便利なオプション、表示項目の読み方、さらには活用のコツまで、詳しくわかりやすく解説していきます。Linux初心者にも理解できるように構成していますので、ぜひ最後までお読みください。


topコマンドとは?

topコマンドは、LinuxやUnix系OSで動作しているプロセスの一覧をリアルタイムで表示するコマンドです。
CPUやメモリの使用率、ロードアベレージ(システムの負荷状態)、個々のプロセスの状態など、システムリソースに関する重要な情報を継続的に更新しながら表示してくれるため、サーバー管理やパフォーマンスの監視に欠かせないツールです。

topはターミナル上で動作し、インタラクティブな操作が可能です。プロセスの並び替えやフィルタリング、特定のプロセスの強制終了なども行えます。


topコマンドの基本的な使い方

コマンドの実行

まずは、基本的な使い方を見てみましょう。
以下のように、コマンドを入力するだけで使用できます。

top

コマンドを実行すると、画面が数秒ごとに更新されるようになります。
この表示は、「監視モード」に入り、qキーで終了できます。


topコマンドの表示内容を読み解く

topを実行すると、上部にシステム全体の情報、下部に各プロセスの詳細が表示されます。
ここでは、主な表示項目を見ていきましょう。

上部のシステム情報(サマリー領域)

  • uptime:システムの稼働時間と現在の時刻
  • load average:1分、5分、15分間の平均負荷
  • Tasks:プロセス数(実行中・スリープ・停止など)
  • CPU:各状態におけるCPU使用率(user, system, idle など)
  • Mem:メモリ使用状況(total, used, free, buff/cache)
  • Swap:スワップ領域の使用状況

下部のプロセス情報(プロセスリスト)

項目名意味
PIDプロセスID
USERプロセスを所有しているユーザー
PRプロセスの優先度
NInice値(プロセスの優先順位の調整)
VIRT仮想メモリサイズ
RES実メモリ使用量
SHR他プロセスと共有しているメモリ量
Sプロセス状態(R=実行中、S=スリープなど)
%CPUCPU使用率
%MEMメモリ使用率
TIME+プロセスの累積CPU使用時間
COMMAND実行中のコマンド名

topコマンドの便利な操作とショートカットキー

topコマンドでは、インタラクティブな操作が可能です。以下のようなキー操作で、表示のカスタマイズや並び替えができます。

キー動作内容
qtopの終了
PCPU使用率でソート(デフォルト)
Mメモリ使用率でソート
T実行時間(TIME+)でソート
kプロセスの終了(kill)→ PIDを入力
rプロセスの優先度を変更(renice)
1各CPUの個別使用率を表示
hヘルプ画面を表示

これらのショートカットを活用することで、topの利便性が格段に上がります。


topコマンドのよく使うオプション

topには、起動時に表示内容や更新間隔を指定するオプションがあります。

オプション内容
-d更新間隔の秒数を指定(例:top -d 5
-n表示の更新回数を指定(例:top -n 10
-u特定ユーザーのプロセスのみを表示(例:top -u root
-p指定したPIDのプロセスのみを表示(例:top -p 1234
-bバッチモード(スクリプト向け出力)で実行

例:更新間隔を5秒にして3回だけ実行する

top -d 5 -n 3

topコマンドと他ツールとの使い分け

topは非常に強力ですが、さらに詳細な情報や柔軟な操作が可能なコマンドも存在します。

htop

より見やすいインターフェースを備えたプロセスビューアです。カーソルキーでプロセスを選択でき、色分けされた表示が特徴です。

sudo apt install htop
htop

psコマンド

リアルタイムではなく、一度だけプロセス情報を表示する形式。スクリプト処理やログ取得に便利です。

ps aux | grep プロセス名

topコマンドを使いこなすためのコツ

  • 目的に応じてソートを変更する:CPUやメモリで重いプロセスを見極めましょう。
  • 不要なプロセスはkillで終了:リソースを圧迫するプロセスはkキーから終了。
  • バッチモードでログ取得top -b -n 1 > top.logのように使えば、ログとして保存可能です。
  • 自動実行との組み合わせ:cronやシェルスクリプトと組み合わせて定期的なリソース監視にも応用可能です。

まとめ

topコマンドは、Linux環境でシステムの状態をリアルタイムに把握するための強力なツールです。
特別なインストールも必要なく、すぐに使えるため、トラブルシューティングやリソース監視に最適です。

使い方に慣れてくると、プロセスの管理やトラブルの初期対応がスムーズになり、Linuxシステムの理解も深まります。今回紹介した基本的な使い方やオプション、操作方法をぜひ実際に試してみてください。

upandup

Web制作の記事を中心に、暮らし、ビジネスに役立つ情報を発信します。 アフィリエイトにも参加しています。よろしくお願いいたします。