Linuxのtopコマンドとは?リアルタイム監視の基本を初心者向けに完全解説
生徒
「Linuxでシステムの動作が重いとき、どのプログラムが原因か調べる方法ってありますか?」
先生
「それならtopコマンドが便利ですよ。リアルタイムでシステムの状態を監視できます。」
生徒
「リアルタイム監視って何ですか?初心者でも使えるコマンドでしょうか?」
先生
「難しく聞こえますが、実はとても簡単です。一緒に基本から学んでいきましょう。」
1. topコマンドとは?
topコマンドは、Linuxシステムで動いているプログラムやシステムの状態をリアルタイムで監視するための基本的なコマンドです。「リアルタイム」とは、情報が数秒ごとに自動的に更新され続けることを意味します。
たとえば、スマートフォンでアプリの電池使用状況を見るような感覚です。どのアプリがバッテリーを消費しているかがわかるように、topコマンドではどのプログラムがCPU(コンピュータの頭脳)やメモリ(作業机のようなもの)を使っているかがわかります。
Windowsのタスクマネージャーに似た機能ですが、Linuxではターミナル(黒い画面)で文字情報として表示されます。システムが重いときや、サーバーの管理をするときに非常に役立つコマンドです。
2. topコマンドの基本的な使い方
topコマンドの使い方は非常にシンプルです。ターミナルで以下のように入力するだけで起動します。
top
このコマンドを実行すると、画面全体にシステム情報が表示されます。情報は自動的に更新され続けるため、常に最新の状態を確認できます。終了したいときはqキー(quitの頭文字)を押すだけです。
初めてtopを起動すると、たくさんの数字や英語が並んで戸惑うかもしれません。しかし、見るべきポイントを押さえれば、初心者でも十分に活用できます。
3. top画面の見方を理解しよう
topコマンドを実行すると、画面は大きく分けて上部のシステム全体情報と下部のプロセス一覧の2つに分かれます。
上部のシステム情報には、現在の時刻、システムの稼働時間、ログインユーザー数、CPU使用率、メモリ使用量などが表示されます。これらは「システム全体がどんな状態か」を一目で把握するための情報です。
下部のプロセス一覧には、現在動いているプログラム(プロセスといいます)が並びます。プロセスとは、実行中のプログラムのことで、ブラウザやテキストエディタなど、起動しているすべてのソフトウェアが含まれます。
プロセス一覧では、各プロセスのID番号、使用しているCPUの割合、メモリの使用量、実行時間、コマンド名などが表示されます。デフォルトではCPU使用率が高い順に並んでいるため、システムに負荷をかけているプログラムをすぐに見つけられます。
4. topコマンドで確認できる重要な情報
topコマンドで表示される情報の中で、特に初心者が注目すべき項目を解説します。
CPU使用率は、コンピュータの処理能力のうち、どれだけが使われているかを示します。100%に近づくとシステムが重くなります。複数のCPUコア(処理の中心部分)がある場合、各コアの使用率も確認できます。
メモリ使用量は、作業に使えるメモリ(RAM)のうち、どれだけが使われているかを示します。メモリが足りなくなると、システムが極端に遅くなることがあります。
プロセスID(PID)は、各プログラムに割り振られた識別番号です。問題のあるプロセスを停止させるときなどに必要になります。
コマンド名(COMMAND)は、実行されているプログラムの名前です。これを見ることで、どのソフトウェアが動いているかがわかります。
5. topコマンドの便利なオプション
topコマンドには、さまざまなオプションがあります。オプションとは、コマンドに追加する設定のことで、動作をカスタマイズできます。
特定のユーザーが実行しているプロセスだけを表示したい場合は、-uオプションを使います。
top -u username
この例では、usernameというユーザーが実行しているプロセスのみが表示されます。複数のユーザーが同じサーバーを使っている場合に便利です。
更新間隔を変更したい場合は、-dオプションで秒数を指定できます。
top -d 5
この場合、5秒ごとに画面が更新されます。デフォルトは3秒ですが、ゆっくり情報を確認したいときは間隔を長くすると見やすくなります。
バッチモードで一度だけ情報を表示したい場合は、-bと-nを組み合わせます。
top -b -n 1
top - 10:30:45 up 5 days, 3:22, 2 users, load average: 0.15, 0.10, 0.08
Tasks: 150 total, 1 running, 149 sleeping, 0 stopped, 0 zombie
%Cpu(s): 2.3 us, 1.1 sy, 0.0 ni, 96.5 id, 0.1 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem : 8192.0 total, 3456.2 free, 2048.5 used, 2687.3 buff/cache
MiB Swap: 2048.0 total, 2048.0 free, 0.0 used. 5632.1 avail Mem
このオプションは、ログファイルに保存したり、他のコマンドと組み合わせたりするときに使います。
6. top起動中に使える便利なキー操作
topコマンドを起動している最中に、キーボードから特定のキーを押すことで、表示を変更したり、並び替えをしたりできます。
ソート順の変更は、PキーでCPU使用率順、Mキーでメモリ使用量順に並び替えられます。どのプロセスがリソースを使っているかをすぐに確認できます。
プロセスの終了は、kキー(killの頭文字)を押すと、終了させたいプロセスのIDを入力できます。応答しなくなったプログラムを強制終了させるときに使います。
表示の更新は、Spaceキーを押すと即座に画面が更新されます。待たずに最新情報を見たいときに便利です。
ヘルプの表示は、hキーを押すと、使えるキー操作の一覧が表示されます。忘れたときはこれで確認できます。
1キー(数字の1)を押すと、CPU使用率が各コアごとに表示されます。マルチコアプロセッサの場合、どのコアがどれだけ働いているかがわかります。
7. topコマンドと似たコマンドとの違い
Linuxには、システムを監視するための似たコマンドがいくつかあります。それぞれの違いを理解しておくと、状況に応じて使い分けられます。
htopコマンドは、topの改良版で、カラフルで見やすい表示が特徴です。マウス操作にも対応しており、初心者にはtopよりも使いやすいかもしれません。ただし、多くのLinuxシステムでは標準でインストールされていないため、別途インストールが必要です。
psコマンドは、プロセスの一覧を表示しますが、topと違ってリアルタイム更新されません。特定の瞬間の状態を確認したいときや、他のコマンドと組み合わせて使うときに便利です。
vmstatコマンドは、メモリやCPU、ディスクの統計情報を表示します。topよりも詳細なシステム全体の統計を見たいときに使います。
topは標準でインストールされており、シンプルで軽量なため、どのLinuxシステムでもすぐに使えるのが最大の利点です。
8. topコマンドの実践的な活用例
topコマンドは、日常的なシステム管理でさまざまな場面で活躍します。実際にどんなときに使うのか、具体例を紹介します。
システムが重いときの原因調査では、パソコンの動作が遅くなったとき、topを起動してCPU使用率やメモリ使用量が高いプロセスを特定します。不要なプログラムが動いていないか確認できます。
メモリ不足の確認では、メモリの空き容量が少なくなっていないか、スワップ(メモリの代わりにディスクを使う仕組み)が発生していないかをチェックします。スワップが多く発生すると、システムが極端に遅くなります。
サーバーの定期監視では、Webサーバーやデータベースサーバーを運用している場合、定期的にtopでシステムの状態を確認します。異常な動作をしているプロセスがないかを監視できます。
プログラム開発時のデバッグでは、自分が作ったプログラムがどれだけのリソースを使っているかを確認できます。メモリリーク(メモリが解放されずに増え続ける問題)などの発見にも役立ちます。
9. topコマンド使用時の注意点
topコマンドを使うとき、初心者が気をつけるべきポイントがあります。
プロセスの強制終了は慎重に行いましょう。kキーでプロセスを終了させるとき、システムにとって重要なプロセスを間違って止めてしまうと、システムが不安定になったり、最悪の場合は動かなくなったりします。終了させる前に、そのプロセスが何をしているのか確認しましょう。
root権限での実行には注意が必要です。管理者権限(root)でtopを実行すると、すべてのユーザーのプロセスが見えます。通常は一般ユーザーで実行すれば十分ですが、システム全体を監視したい場合はsudo topで実行します。
CPU使用率100%は必ずしも問題ではないことを理解しましょう。計算処理や動画エンコードなど、意図的にCPUをフル活用するプログラムもあります。システムが応答しなくなったり、他の作業ができなくなったりしていなければ、問題ないことも多いです。
長時間の監視はターミナルを占有する点にも注意しましょう。topを起動している間は、そのターミナルで他の作業ができません。別の作業をしたい場合は、新しいターミナルウィンドウを開くか、topを一度終了させます。
10. topコマンドを使いこなすためのコツ
topコマンドをより効果的に使うための実践的なテクニックを紹介します。
定期的に確認する習慣をつけると、システムの「普段の状態」がわかるようになります。普段の状態を知っていれば、異常が発生したときにすぐに気づけます。
表示をカスタマイズすることで、見やすくできます。fキーを押すと、表示する項目を選択できます。自分が見たい情報だけを表示させることで、画面がすっきりします。
他のコマンドと組み合わせるtop -b -n 1 | grep プロセス名のように、特定のプロセスだけを抽出できます。
設定ファイルで起動時の挙動を変更することも可能です。ホームディレクトリに.toprcファイルを作成すると、毎回同じ設定でtopを起動できます。
最初は情報量の多さに圧倒されるかもしれませんが、使っているうちに徐々に慣れていきます。まずは基本的な使い方から始めて、少しずつ機能を覚えていきましょう。topコマンドは、Linuxシステム管理の第一歩として非常に重要なツールです。