ホームページ  >  記事  >  php教程  >  Linuxコマンド:トップコマンド

Linuxコマンド:トップコマンド

高洛峰
高洛峰オリジナル
2016-12-13 11:59:351687ブラウズ

top コマンドは、Linux で一般的に使用されるパフォーマンス分析ツールで、Windows タスク マネージャーと同様に、システム内の各プロセスのリソース使用量をリアルタイムで表示できます。以下に詳しい使い方を説明します。 top は動的な表示プロセスです。つまり、このコマンドがフォアグラウンドで実行されると、ユーザーがプログラムを終了するまで、現在のステータスが独占的に占有されます。 top コマンドはシステムのリアルタイム制御を提供し、システム内で最も「重要な」タスクのリストを表示します。このコマンドは、CPU 使用率、メモリ使用率、および多くの機能に基づいてタスクを並べ替えます。このコマンドの機能には、対話型コマンドを通じてアクセスするか、個人用カスタマイズ ファイルで設定を行うことができます。

1.コマンド形式:

top [パラメータ]

2.コマンド機能:

プロセスID、メモリ使用量、CPU使用量などを含む、システムによって現在実行されているプロセスに関する関連情報を表示します。

3.コマンドパラメータ:

-b バッチ処理

-c 完了処理コマンドの表示

-I 失敗処理無視

-s 機密モード

-S 蓄積モード

-i

- u ユーザー名を指定します

-p プロセスを指定します

-n


4.使用例:

例1:プロセス情報の表示

コマンド:

top

出力:

[root@TG1704 log]# top
top - 14:06:23 up 70 days, 16:44,  2 users,  load average: 1.25, 1.32, 1.35
Tasks: 206 total,   1 running, 205 sleeping,   0 stopped,   0 zombie
Cpu(s):  5.9%us,  3.4%sy,  0.0%ni, 90.4%id,  0.0%wa,  0.0%hi,  0.2%si,  0.0%st
Mem:  32949016k total, 14411180k used, 18537836k free,   169884k buffers
Swap: 32764556k total,        0k used, 32764556k free,  3612636k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                
28894 root      22   0 1501m 405m  10m S 52.2  1.3   2534:16 java                                                                   
18249 root      18   0 3201m 1.9g  11m S 35.9  6.0 569:39.41 java                                                                   
 2808 root      25   0 3333m 1.0g  11m S 24.3  3.1 526:51.85 java                                                                   
25668 root      23   0 3180m 704m  11m S 14.0  2.2 360:44.53 java                                                                   
  574 root      25   0 3168m 611m  10m S 12.6  1.9 556:59.63 java                                                                   
 1599 root      20   0 3237m 1.9g  11m S 12.3  6.2 262:01.14 java                                                                   
 1008 root      21   0 3147m 842m  10m S  0.3  2.6   4:31.08 java                                                                   
13823 root      23   0 3031m 2.1g  10m S  0.3  6.8 176:57.34 java                                                                   
28218 root      15   0 12760 1168  808 R  0.3  0.0   0:01.43 top                                                                    
29062 root      20   0 1241m 227m  10m S  0.3  0.7   2:07.32 java                                                                   
    1 root      15   0 10368  684  572 S  0.0  0.0   1:30.85 init                                                                   
    2 root      RT  -5     0    0    0 S  0.0  0.0   0:01.01 migration/0                                                            
    3 root      34  19     0    0    0 S  0.0  0.0   0:00.00 ksoftirqd/0                                                            
    4 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 watchdog/0                                                             
    5 root      RT  -5     0    0    0 S  0.0  0.0   0:00.80 migration/1                                                            
    6 root      34  19     0    0    0 S  0.0  0.0   0:00.00 ksoftirqd/1                                                            
    7 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 watchdog/1                                                             
    8 root      RT  -5     0    0    0 S  0.0  0.0   0:20.59 migration/2                                                            
    9 root      34  19     0    0    0 S  0.0  0.0   0:00.09 ksoftirqd/2                                                            
   10 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 watchdog/2                                                             
   11 root      RT  -5     0    0    0 S  0.0  0.0   0:23.66 migration/3                                                            
   12 root      34  19     0    0    0 S  0.0  0.0   0:00.03 ksoftirqd/3                                                            
   13 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 watchdog/3                                                             
   14 root      RT  -5     0    0    0 S  0.0  0.0   0:20.29 migration/4                                                            
   15 root      34  19     0    0    0 S  0.0  0.0   0:00.07 ksoftirqd/4                                                            
   16 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 watchdog/4                                                             
   17 root      RT  -5     0    0    0 S  0.0  0.0   0:23.07 migration/5                                                            
   18 root      34  19     0    0    0 S  0.0  0.0   0:00.07 ksoftirqd/5                                                            
   19 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 watchdog/5                                                             
   20 root      RT  -5     0    0    0 S  0.0  0.0   0:17.16 migration/6                                                            
   21 root      34  19     0    0    0 S  0.0  0.0   0:00.05 ksoftirqd/6                                                            
   22 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 watchdog/6                                                             
   23 root      RT  -5     0    0    0 S  0.0  0.0   0:58.28 migration/7

説明:

統計情報領域:

最初の5行は、現在の全体の統計情報領域です。システム状況。以下では、各情報行の具体的な意味を見ていきます。

最初の行のタスクキュー情報は、uptime コマンドの実行結果と同じです。具体的なパラメーターの説明は次のとおりです:

14:06:23 — 現在のシステム時間

up 70 days, 16: 44 — システムは 70 日間 16 時間 44 分実行されています (この間、システムは再起動されていません!)

2 ユーザー — 現在システムにログインしているユーザーは 2 人です

負荷平均: 1.15、1.42、 1.44 — 負荷平均後の 3 つの数値は、それぞれ 1 分、5 分、15 分の負荷条件です。

負荷平均データは、5秒ごとにアクティブなプロセスの数を確認し、特定のアルゴリズムに従って計算された値です。この数値を論理 CPU の数で割った場合、結果が 5 より大きい場合は、システムが過負荷になっていることを示します。

2 行目、Tasks - タスク (プロセス)、具体的な情報は次のとおりです:

システムには合計 206 個のプロセスがあり、そのうち 1 個が実行中、205 個がスリープ状態、0 個が停止状態にあります。ゾンビステータス(ゾンビ)は0です。

3 行目、CPU ステータス情報、特定の属性の説明は次のとおりです:

5.9%us - ユーザー空間が占有している CPU の割合。

3.4% sy — カーネル空間が占有する CPU の割合。

0.0% ni — 優先順位が変更されたプロセスによって占有されている CPU の割合

90.4% id — アイドル状態の CPU の割合

0.0% wa — IO 待機によって占有されている CPU の割合

0.0% hi — ハードウェア IRQ占有 CPU の割合

0.2% si - ソフトウェア割り込みによって占有される CPU の割合

注: ここでの CPU 使用率は、Windows の概念とは異なります。Linux システムのユーザー空間とカーネルに関する関連知識を理解する必要があります。空間!

4 行目のメモリステータス、具体的な情報は次のとおりです:

32949016k total — 合計物理メモリ (32GB)

14411180k used — 合計使用中のメモリ (14GB)

18537836k free — 合計空きメモリ (18GB) )

169884kbuffers - キャッシュされたメモリの量(169M)

5行目、スワップパーティション情報、具体的な情報は次のとおりです:

32764556k total - スワップ領域の総量(32GB)

0k used -使用済みスワップ領域の合計 量 (0K)

32764556k free - 合計空きスワップ領域 (32GB)

3612636k キャッシュ済み - 合計バッファリングされたスワップ領域 (3.6GB)


備考:

4 番目に使用された合計メモリline 量 (使用済み) は、システム カーネルによって現在制御されているメモリの量を指し、空きメモリの合計量 (free) は、カーネルがまだ制御に含めていない量です。カーネルによって管理されるすべてのメモリが使用されているわけではなく、過去に使用され、現在は再利用できるメモリも含まれます。カーネルはこれらの再利用可能なメモリを解放しないため、Linux 上の空きメモリはますます少なくなります。 、でも心配しないでください。

習慣で使用可能なメモリを計算すると、おおよその計算式は次のようになります: 4 行目の空き + 4 行目のバッファ + 5 行目のキャッシュ この式によると、このサーバーの使用可能なメモリは 18537836k となります。 + 169884k +3612636k = 約 22GB。

メモリ監視の場合、先頭の 5 行目のスワップ パーティションの使用状況を常に監視する必要があります。この値が常に変化している場合、カーネルがメモリとスワップの間でデータを常に交換していることを意味します。メモリが足りません。

6行目、空の行。

以下7行目:各プロセス(タスク)の状態監視、項目列の情報は以下の通りです:

PID — プロセスID

USER — プロセス所有者

PR — プロセス優先度

NI — ナイス値。負の値は優先度が高いことを表し、正の値は優先度が低いことを表します

VIRT — プロセスによって使用される仮想メモリの合計量 (kb 単位)。 VIRT=SWAP+RES

RES — スワップアウトされていないプロセスによって使用されている物理メモリのサイズ (kb 単位)。 RES=CODE+DATA

SHR — 共有メモリのサイズ、単位は kb

S — プロセスのステータス。 D=無中断スリープ状態 R=実行 S=スリープ T=追跡/停止 Z=ゾンビプロセス

%CPU — 前回の更新以降に占有された CPU 時間の割合

%MEM — プロセスによって使用された物理メモリの割合

TIME+ — プロセスによって使用された合計 CPU 時間、単位は 1/100 秒

COMMAND — プロセス名 (コマンド名/コマンド ライン)


その他の使用上のヒント:

1.

一番上の基本 ビューで、キーボード番号「1」を押して、各論理 CPU のステータスを監視します。

Linuxコマンド:トップコマンド

上の図に注目してください。サーバーには 16 個の論理 CPU があり、これは実際には 4 個の物理 CPU です。もう一度数字キー 1 を押すと、最上部の基本ビュー インターフェイスに戻ります。

2. 現在実行中のプロセスを強調表示します

キーボードの「b」を押すと (強調表示効果のオン/オフを切り替えます)、上部の表示が次のように変わります:

Linuxコマンド:トップコマンド

プロセス ID 2570 が強調表示されると、最上位のプロセスがビューの 2 行目に表示される唯一の実行中プロセスになります。「y」キーをタップすると、実行中のプロセスの強調表示効果をオフまたはオンにできます。

3. プロセスフィールドの並べ替え

デフォルトで上位を入力すると、各プロセスは CPU 使用率に従って並べ替えられます。以下の図では、プロセス ID 28894 の Java プロセスが 1 位 (CPU 使用率 142%) にランクされます。 Java プロセスは 574 で 2 番目にランクされています (CPU 占有率は 16%)。

Linuxコマンド:トップコマンド

キーボードで「x」を入力すると (ソート列の強調表示効果をオン/オフにします)、トップの表示が次のように変わります:

Linuxコマンド:トップコマンド

トップのデフォルトのソート列が確認できます。は「%CPU」です。


4. 「shift + >」または「shift + 」を 1 回押した結果です。ビューは次のようになり、%MEM でソートされます。

Linuxコマンド:トップコマンド例 2: コマンド全体を表示する

コマンド:

top -c

出力:

Linuxコマンド:トップコマンド説明:


例 3: バッチモードでプログラム情報を表示する

コマンド:

top -b

出力:

説明:


例 4: 累積モードで番組情報を表示する

コマンド:

top -S

出力:

説明:


例5: 情報更新回数を設定します

コマンド:

top -n 2

出力:

説明:

は2回更新したら更新表示を終了することを意味します


例6: 情報更新時間を設定する

コマンド:

top -d 3

出力:

説明:

は更新周期が3秒であることを意味します


例7: 指定されたプロセス情報を表示します

コマンド:

top -p 5 74

出力:

Linuxコマンド:トップコマンド指示:

5.top 対話型コマンド


top コマンドの実行中に使用できるいくつかの対話型コマンド。これらのコマンドは 1 文字であり、コマンド ラインで s オプションを使用するとブロックされる可能性があります。

h ヘルプ画面を表示し、いくつかの短いコマンド概要の指示を与えます。

k プロセスを終了します。

i アイドルプロセスとゾンビプロセスを無視します。これはスイッチコマンドです。

q プログラムを終了します

r プロセスの優先順位を再調整します

S 累積モードに切り替えます

s 2 回のリフレッシュ間の遅延時間を変更します (単位は s)。小数点がある場合は、それを m s に変換します。 。値 0 を入力すると、システムは 5 秒間継続して更新します。

f または F。現在の表示に項目を追加または削除します。

l 表示される項目の順序を変更します。平均負荷と起動時間の情報の表示を切り替えます

m メモリ情報の表示に切り替えます

t プロセスと CPU のステータス情報の表示に切り替えます

c コマンド名と完全なコマンドラインの表示に切り替えます

M 常駐メモリサイズで並べ替えます

P CPU 使用率で並べ替えます

T 時間/累積時間で並べ替えます

W 現在の設定を書き込みます~/ .toprc ファイル


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。