the KodeLab

Linux top コマンドの使い方|プロセスのソート・検索・フィルタ

1,520 文字 4 分で読めます
Linux top コマンドの使い方|プロセスのソート・検索・フィルタ

Linux で実行中のプロセスを確認したいときに最も手軽なのが top コマンドです。ターミナルで top と入力するとそのまま対話モードに入り、一定間隔でプロセス一覧が更新されていきます。デフォルトのままでも十分使えますが、真価はキー 1 つで絞り込みやソートができるショートカットにあります。

検索とソート

ユーザーで絞り込む

u を押すと画面上部に Which user (blank for all) と表示されます。ユーザー名を入力して Enter を押すと、そのユーザーのプロセスだけが表示されます。フィルタを解除したいときは、もう一度 u を押して空欄のまま Enter を押せば、全ユーザーの表示に戻ります。

コマンド名で絞り込む

o を押すと add filter #1 (ignoring case) as: [!]FLD?VAL と表示されます。ここで列名と値を指定すると任意の列でフィルタできます。たとえば Java 関連のプロセスだけを表示したい場合は次のように入力します。

COMMAND=java

Enter を押すと COMMAND 列に java を含む行だけが表示されます。さらに o を押せば条件を追加でき、複数のフィルタを重ねられます。

フィルタをまとめてクリアしたいときは = キーを押してください。

ソート

  • メモリ使用量でソート:大文字 M。補足として、小文字 m は画面上部のメモリ情報の表示形式を切り替えます。
  • CPU 使用率でソート:大文字 P
  • CPU 時間でソート:大文字 T。補足として、小文字 t は画面上部の CPU 情報の表示形式を切り替えます。
  • PID でソート:大文字 N
  • 逆順ソート:大文字 R。現在のソート状態を反転します。例えば M でメモリ使用量順にしたあと R を押すと昇順になり、もう一度押すと降順に戻ります。

その他の操作

移動とページ送り

  • 1 行ずつ移動:方向キーの上下。
  • 1 ページずつ移動<>

列が多すぎて画面に収まらないときは、方向キーの左右で横方向にもスクロールできます。

ヘルプを開く

  • 方法 1:ターミナルで top -h を実行すると簡単な説明が表示されます。
  • 方法 2:ターミナルで man top を実行すると詳細なマニュアルが見られます。
  • 方法 3:対話モードで h を押すとヘルプが開きます。もう一度 h を押すと次のページへ進み、q で対話モードに戻ります。

top の終了

対話モードで q を押すだけです。

補足:プログラムとプロセスの違い

「プログラム」はディスク上の実行可能なコード、つまりオペレーティングシステム (OS) が読み込んで実行できる 1 つ(または 1 まとまり)のファイルを指します。一方「プロセス」は、OS がそのプログラムを実際に読み込み、ライフサイクルを与えて動かしている状態のものです。1 つのプログラムから複数のプロセスを生み出すことができます。たとえば電卓はディスク上には 1 つしかなくても、同時に複数の電卓ウィンドウを立ち上げれば、それぞれが独立したプロセスになります。

プロセスはメモリ上に自分専用の領域を持ち、その中にコード、ヒープ、スタックなどのデータを配置します。1 つのプロセスの中ではさらに複数のスレッドを生成でき、プロセスから子プロセスを生成することもあります。オペレーティングシステムの授業や、プログラミング言語の設計に関する授業(言語の使い方ではなく、言語そのものを設計する側を学ぶ授業)では、こうした概念をより深く学べます。