topコマンドは、システム情報の概要を示します。 3秒ごとに(デフォルトで)更新される現在のプロセスに関するデータを報告します。
topのようなプログラムを使用して理解することは、不可欠なシステム管理スキルです。この記事では、トップコマンドを自信を持ってナビゲートする方法を説明します。
Linuxのトップコマンドを理解する
top
トップは簡単に使用できます。この簡単なコマンドで、最上位のアプリケーションに移動できます。終了する場合は、文字qを入力して終了します 。それを最大限に活用するための他の重要なコマンドもありますが、これについては後で説明します。

CPU負荷、現在のタスク数、およびメモリ使用量に関する情報を簡単に確認できます。実行中は、基本的に2つのセクションに情報があります。
ターミナルの上部に、メモリ使用量やCPU負荷などの概要データが表示されます。その下に、詳細が豊富な特定のプロセスの表があります。
凝縮された形式で表示される多くの詳細情報があります。より完全に理解できるように、それをより小さな断片に分割しましょう。最初の4行には、前述の概要データが含まれています。それらを1行ずつ取り上げて、何が起こっているのかを説明しましょう。
ユーザー情報、稼働時間、負荷平均
top - 11:49:05 up 27 min, 1 user, load average: 1.13, 0.44, 0.28
最初の情報はタイムスタンプであり、これはかなり自明です。その横には、システムの稼働時間が表示されます。私の場合、24分です。これは、コンピューターが中断することなく実行されている時間を指します。次に、負荷平均の3つの値が表示されます。これらの数値は、1分、5分、15分をそれぞれの順序で読み取ったものです。
私たちの目的では、負荷値は、システムの処理能力に対する「ストレス」の見積もりとして理解できます。たとえば、負荷が1.0の場合、処理能力の100%が現在機能していることを意味します。
Tasks: 210 total, 2 running, 208 sleeping, 0 stopped, 0 zombie
システムプロセスは、タスクとも呼ばれます。オペレーティングシステムは、バックグラウンドで実行されている多数のプロセスに依存して、Webブラウザの使用などの他のアクティビティを可能にします。
プロセスはさまざまな方法で実行でき、さまざまなアルゴリズムを使用して優先順位が付けられます。これは、コンピューターがタスクを実行する方法とタイミングを最適化するのに役立ちます。これは概要を示すことを目的としているため、ここでは簡単に説明します。ここで説明する状態よりもコンピューティングの方が多いことを読者に知ってもらいたいのです。
そうは言っても、これらのそれぞれが何を意味するのかを見てみましょう:
状態 | 説明 |
---|---|
実行中 | アクティブ/処理中のキュー |
睡眠 | プロセスが完了するのを待っています |
停止 | ジョブ制御信号(たとえば、CTRL + C)によって中断されました |
ゾンビ | 「孤立した」子タスクで構成されている/実行されなくなった |
%Cpu(s):100.0 us, 0.0 sy, 0.0 ni, 0.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
ここでの各値は、それぞれのタスクに費やされた時間のパーセンテージです。次の表は、各略語の意味を説明しています。これにより、処理能力がどのように使用されているかについてかなり詳細な内訳が得られます。
略語 | 説明 |
---|---|
us | ユーザーモードで実行される処理 |
sy | システム/カーネルモードで実行される処理 |
ni | 「素敵な」プロセスに費やした時間 |
id | アイドル使用時間 |
wa | I/Oプロセスが完了するのを待っています |
こんにちは | ハードウェア割り込みが原因で費やされた時間 |
si | ソフトウェア割り込みが原因で費やされた時間 |
st | 仮想マシンリソースによって「盗まれた」時間 |
MiB Mem : 7974.7 total, 5974.0 free, 1046.9 used, 953.9 buff/cache
MiB Swap: 4095.5 total, 4095.5 free, 0.0 used. 6660.1 avail Mem
これらの行は、Linuxでのfreeコマンドの出力を模倣しています。
これは本当にトップコマンドの核心です。 Windowsから来た場合は、おそらく CTRL + ALT + DELの使用に精通しているでしょう。 タスクマネージャにアクセスします。これは、その「取り除いた」バージョンのようなものです。現在実行中のすべてのタスクの表が表示されます。
上部に表示されるいくつかのタスクのサンプルを次に示します。
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1703 christo+ 20 0 2338396 342200 114744 S 7.9 4.2 0:25.05 gnome-shell
1285 root 20 0 237252 72360 46012 S 4.3 0.9 0:04.00 Xorg
2158 christo+ 20 0 496976 42952 32192 S 4.0 0.5 0:01.74 gnome-terminal-
2703 christo+ 20 0 21528 3880 3204 R 0.7 0.0 0:00.40 top
これは、列ヘッダーの略語を理解するのに役立つ表です。
略語 | 説明 |
---|---|
PID | プロセスID(一意の正の整数) |
ユーザー | ユーザー名 |
PR | 優先度(カーネル) |
NI | ニースバリュー |
VIRT | 仮想メモリ |
RES | 常駐サイズ(物理メモリ) |
SHR | 共有メモリ |
S | プロセスステータス(実行中、停止中など) |
%CPU | CPU負荷 |
%MEM | RESのパーセンテージ/合計RAM |
時間+ | プロセスに費やされた合計時間 |
コマンド | プロセスを開始したコマンド |
これらは私のディストリビューションのデフォルトフィールドです。お使いのシステムは若干異なる場合があります。これらは、F
と入力してカスタマイズできます トップが実行されている間。これにより、利用可能なオプションの完全なリストが表示されます
ディスプレイを好きなように設定したら。いくつかの作業を行う時が来ました。 トップのオプションの完全なリストを見てみましょう(hと入力してアクセスできます) いくつかの例を見てください。
1。色と記憶の尺度

Z,B,E,e Global: 'Z' colors; 'B' bold; 'E'/'e' summary/task memory scale
色の変更については説明しましたが、メモリスケールをバイトからペタバイトまで変更することもできます。 E
e
が、概要セクションの数値を変更します。 タスクテーブルのスケールを調整します。
2。要約情報のビューを切り替える

l,t,m Toggle Summary: 'l' load avg; 't' task/cpu stats; 'm' memory info
それぞれのキーは、表示オプションを調整します。デフォルトはテキストベースの出力ですが、シミュレートされたバーもあり、アイテムを完全にオフにすることもできます。
3。 CPU固有の情報を表示する

0,1,2,3,I Toggle: '0' zeros; '1/2/3' cpus or numa node views; 'I' Irix mode
仮想マシンにはCPUが1つしかありませんが、複数ある場合にどのように機能するかを確認できます。独自の統計を使用して個々のノードに分けることができます。
4トップフィールド操作

f,F,X Fields: 'f'/'F' add/remove/order/sort; 'X' increase fixed-width
表示したいフィールドを追加または削除したり、テキストの固定幅を調整したりできます。
同様に、上位のコマンド出力を並べ替えることもできます。
5。文字列を検索

L,&,<,> . Locate: 'L'/'&' find/again; Move sort column: '<'/'>' left/right
6。ビューを整理する

R,H,V,J . Toggle: 'R' Sort; 'H' Threads; 'V' Forest view; 'J' Num justify
これらのコマンドは、タスク情報を整理するためのオプションを提供します。並べ替えでは、デフォルトのアクティビティによる並べ替え機能ではなく、すべてのタスクがPIDで表示されます。スレッドは、詳細ビューと要約ビューをタスク指向ではなくスレッド指向に変更します。フォレストビューは、親子関係を示すためにプロセスを「ツリー」構造に配置します。 Numeric justifyは、数値フィールドのデフォルトの左揃えの位置を変更します。
7。フルパス、アイドルタスク、累積時間、テキストの位置揃えを切り替えます

c,i,S,j . Toggle: 'c' Cmd name/line; 'i' Idle; 'S' Time; 'j' Str justify
c
を切り替えると 、コマンドのフルパスが表示されます。アイドル状態では、アクティブでないタスクがすべて表示から削除されます。 S
累積時間を使用します。 String justifyは、文字列フィールドのデフォルトの左揃え位置を変更します。
8。ハイライトを切り替える

x,y . Toggle highlights: 'x' sort field; 'y' running tasks
xを使用して並べ替えフィールドを切り替え、yを使用して実行中のタスクを並べ替えます。
9。ユーザーまたはフィールド/値でフィルタリング

u,U,o,O . Filter by: 'u'/'U' effective/any user; 'o'/'O' other criteria
特定のユーザーまたはフィールド/値を簡単に除外できます。これは、多くのユーザーまたは多くのオープンタスクがあるシステムに最適です。フィルタには、フィールドと値の比較演算子が必要です。ここに表示されているように、COMMAND=top
と入力しました topを除くすべてのコマンドをフィルタリングします。いずれかのコマンドでshiftを使用すると、大文字と小文字の区別が切り替わります。
10。プロセス数をフィルタリングする

n,#,^O . Set: 'n'/'#' max tasks displayed; Show: Ctrl+'O' other filter(s)
n or #
のいずれかを使用する 数値を入力するオプションが表示されます。これにより、必要なプロセスの数のみが表示されます。
11。トップコマンドでPIDを使用してプロセスを削除または強制終了する

k,r Manipulate tasks: 'k' kill; 'r' renice
これらのコマンドを使用して、nice値を変更したり、プロセスを強制終了したりできます。見やすくするために、特定のPIDを除外しました。 nice値を20に変更しました。次に、killコマンドを送信しました。デフォルトでkillを使用すると、SIGTERMシグナルが送信されます。これにより、終了する前にコードの実行を終了できます。
12。 topコマンドでデフォルトの更新時間を変更する

d or s Set update interval
ここでは、デフォルトの更新時間を3.0秒ごとから1秒ごとに変更しました。ニーズに合わせていつでも調整できます。 d
を使用することができます またはs
同じ操作を実行します。
結論
トップへのガイドを楽しんでいましたか?これらのヒントが、topの操作について何か新しいことを教えてくれたことを願っています。このガイドが気に入ったら、ソーシャルメディアで共有してください。
コメントや質問がある場合は、以下に残してください。何か提案があれば、取り上げてもらいたいトピックについても、遠慮なく残してください。読んでくれてありがとう。