GNU/Linux >> Linux の 問題 >  >> Debian

プロセスを監視するためのLinuxでの15の簡単なTOPコマンドの例

LinuxTOPコマンド

Linuxでプロセスを監視するための最も基本的なコマンドの1つは、topコマンドです。名前が示すように、CPU使用率やメモリ使用率などの特定の基準に基づいた上位のプロセスが表示されます。

プロセスは、プロセス名、pid、ユーザー、CPU使用率、メモリ使用量などの詳細について、複数の列を持つリストに一覧表示されます。

プロセスのリストとは別に、topコマンドには、平均システム負荷、CPU使用率、およびRAM使用量に関する簡単な統計情報も表示されます。

この投稿では、topコマンドを使用してLinuxマシンまたはサーバー上のプロセスを監視する方法の非常に簡単な例をいくつか示します。

「トップ」コマンドバリアントに注意してください

topコマンドにはさまざまなバリエーションがあり、それぞれにわずかに異なるオプションと使用方法のセットがあることに注意してください。

上位のコマンドバージョンとバリアントを確認するには、-vオプションを使用します

$ top -v
  procps-ng version 3.3.9

この投稿では、procps-ngプロジェクトからの最上位コマンドに焦点を当てています。これは、Ubunut、Fedora、CentOSなどの最新のディストリビューションで利用可能なバージョンです。

1。表示プロセス

実行中のプロセスを垣間見るには、トップを実行するだけです。 このようなオプションなしでそのままコマンドを実行します。

$ top

そしてすぐに出力は次のようになります-

top - 18:50:35 up  9:05,  5 users,  load average: 0.68, 0.52, 0.39
Tasks: 254 total,   1 running, 252 sleeping,   0 stopped,   1 zombie
%Cpu(s):  2.3 us,  0.5 sy,  0.0 ni, 97.1 id,  0.2 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem:   8165300 total,  6567896 used,  1597404 free,   219232 buffers
KiB Swap:  1998844 total,        0 used,  1998844 free.  2445372 cached Mem
  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
17952 enlight+  20   0 1062096 363340  88068 S   4.8  4.4   0:49.33 chrome
14294 enlight+  20   0  954752 203548  61404 S   2.1  2.5   2:00.91 chrome
 1364 root      20   0  519048 105704  65348 S   0.6  1.3  17:31.27 Xorg
19211 enlight+  20   0  576608  47216  39136 S   0.6  0.6   0:01.01 konsole
   13 root      rt   0       0      0      0 S   0.3  0.0   0:00.10 watchdog/1
   25 root      20   0       0      0      0 S   0.3  0.0   0:03.49 rcuos/2
 1724 enlight+  20   0  430144  36456  32608 S   0.3  0.4   0:03.60 akonadi_contact
 1869 enlight+  20   0  534708  52700  38132 S   0.3  0.6   0:53.94 yakuake
14040 enlight+  20   0  858176 133944  61152 S   0.3  1.6   0:09.89 chrome

画面には、システムに関する多くの情報が含まれています。ヘッダー領域には、稼働時間、負荷平均、CPU使用率、メモリ使用量データが含まれます。

プロセスリストには、さまざまなプロセス固有の詳細を含むすべてのプロセスが個別の列に表示されます。
一部の列名は、かなり自明です。

PID -プロセスID
ユーザー -プロセスを実行しているシステムユーザーアカウント。
%CPU -プロセスによるCPU使用率。
%MEM -プロセスによるメモリ使用量
コマンド -プロセスのコマンド(実行可能ファイル)

2。メモリ/CPU/プロセスID/実行時間で並べ替え

CPUまたはメモリを最も消費しているプロセスを見つけるには、リストを並べ替えるだけです。

Mキー(はい、大文字で、小さくない)を押して、メモリ使用量でプロセスリストを並べ替えます。最も多くのメモリを使用しているプロセスが最初に表示され、残りは順番に表示されます。

CPU使用率、プロセスID、実行時間で並べ替えるその他のオプションは次のとおりです-

「P」を押して、CPU使用率でプロセスリストを並べ替えます。
「N」を押して、プロセスIDでリストを並べ替えます。
「T」を押して、実行時間で並べ替えます。

3。並べ替え順序を逆にします-'R'

デフォルトでは、ソートは降順で行われます。 'R'を押すと、現在ソートされている列のソート順が逆になります

これは、CPU使用率の昇順でソートされた出力です。 CPUの消費量が最も少ないプロセスが最初に表示されます。

top - 17:37:55 up  8:25,  3 users,  load average: 0.74, 0.88, 0.74
Tasks: 245 total,   1 running, 243 sleeping,   0 stopped,   1 zombie
%Cpu(s):  5.2 us,  1.7 sy,  0.0 ni, 93.2 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem:   8165300 total,  6089388 used,  2075912 free,   199060 buffers
KiB Swap:  1998844 total,        0 used,  1998844 free.  1952412 cached Mem
  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
    1 root      20   0  185308   6020   4012 S   0.0  0.1   0:01.90 systemd
    2 root      20   0       0      0      0 S   0.0  0.0   0:00.00 kthreadd
    3 root      20   0       0      0      0 S   0.0  0.0   0:00.16 ksoftirqd/0
    5 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/0:+
    7 root      20   0       0      0      0 S   0.0  0.0   0:06.98 rcu_sched
    8 root      20   0       0      0      0 S   0.0  0.0   0:00.00 rcu_bh

4。並べ替えられた列を太字で強調表示します-'x'

xを押して、ソート列の値を太字で強調表示します。これがスクリーンショットで、メモリ列が太字で示されています-

トップコマンドハイライト列

5。並べ替えられた列の背景色「b」を強調表示します

並べ替えられた列を太字で強調表示した後、別の背景色で強調表示することもできます。見た目はこんな感じです

トップコマンドハイライト列の背景

6。更新遅延を変更します-'d'

topコマンドは、デフォルトで3.0秒ごとに画面上の情報を更新します。この更新間隔は変更できます。

'd'キーを押すと、topは各更新間の時間間隔を入力するように求めます。 0.5など、1秒未満の数値も入力できます。希望の間隔を入力してEnterキーを押します。

top - 18:48:23 up  9:19,  3 users,  load average: 0.27, 0.46, 0.39
Tasks: 254 total,   1 running, 252 sleeping,   0 stopped,   1 zombie
%Cpu(s):  1.3 us,  0.4 sy,  0.0 ni, 98.1 id,  0.2 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem:   8165300 total,  7899784 used,   265516 free,   238068 buffers
KiB Swap:  1998844 total,     5432 used,  1993412 free.  3931316 cached Mem
Change delay from 3.0 to
  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
14512 enlight+  20   0 1047688 302532  87156 S   1.3  3.7   1:34.87 /opt/googl+
15312 enlight+  20   0   25148   3280   2628 R   0.8  0.0   0:00.04 top

7。フィルタまたは検索プロセス-'o'/'O'

プロセス名、メモリ使用量、CPU使用率などのさまざまな基準に基づいて、プロセスリストをフィルタリングできます。複数のフィルタ基準を適用できます。

「o」または「O」を押して、フィルタープロンプトをアクティブにします。このようなフィルターフォーマットを示す線が表示されます-

add filter #1 (ignoring case) as: [!]FLD?VAL

次に、このようなフィルターを入力して、Enterキーを押します。

COMMAND =apache

これで、topには、COMMANDフィールドに値apacheが含まれているプロセスのみが表示されます。

これは、CPUをアクティブに消費しているプロセスを示す別のフィルターの例です-

%CPU> 0.0

アクティブなフィルターを見る -Ctrl + oを押して、現在アクティブなフィルターを表示します

フィルターをクリア -'='キーを押して、アクティブなフィルターをすべてクリアします

8。プロセスの完全なコマンドパスと引数を表示します-'c'

'c'を押すと、コマンドライン引数とともに完全なコマンドパスが[コマンド]列に表示されます。

%CPU %MEM     TIME+ COMMAND                                                    
  0.0  0.0   0:00.00 /usr/bin/dbus-launch --exit-with-session /usr/bin/im-laun+ 
  0.0  0.1   0:01.52 /usr/bin/dbus-daemon --fork --print-pid 5 --print-address+ 
  0.0  0.3   0:00.41 /usr/bin/kwalletd --pam-login 17 20                        
  0.0  0.0   0:00.00 /usr/lib/x86_64-linux-gnu/libexec/kf5/start_kdeinit --kde+ 
  0.0  0.3   0:01.55 klauncher [kdeinit5] --fd=9                                
  0.0  0.2   0:00.13 /usr/lib/telepathy/mission-control-5                       
  0.0  0.1   0:00.00 /usr/lib/dconf/dconf-service                               
  0.0  0.4   0:01.41 /usr/lib/x86_64-linux-gnu/libexec/kdeconnectd              
  0.0  0.2   0:01.09 /usr/lib/x86_64-linux-gnu/libexec/kf5/kscreen_backend_lau+

9。ユーザーのプロセスを表示する-'u'/'U'

特定のユーザーのプロセスのみを表示するには、「u」を押すと、topからユーザー名の入力を求められます。

どのユーザー(すべて空白)
目的のユーザー名を入力し、Enterキーを押します。

top - 17:33:46 up  8:21,  3 users,  load average: 2.55, 1.31, 0.81
Tasks: 246 total,   1 running, 244 sleeping,   0 stopped,   1 zombie
%Cpu(s): 11.8 us,  3.3 sy,  0.6 ni, 84.2 id,  0.0 wa,  0.0 hi,  0.1 si,  0.0 st
KiB Mem:   8165300 total,  6108824 used,  2056476 free,   198680 buffers
KiB Swap:  1998844 total,        0 used,  1998844 free.  1963436 cached Mem
Which user (blank for all) enlightened
  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
 1696 enlight+  20   0  440728  37728  33724 S   0.0  0.5   0:03.12 akonadi_bi+
 1705 enlight+  20   0  430304  37156  33264 S   0.0  0.5   0:03.08 akonadi_mi+
 1697 enlight+  20   0  430144  37100  33248 S   0.0  0.5   0:03.00 akonadi_co+
 1599 enlight+  20   0  504628  36132  32068 S   0.0  0.4   0:03.24 kdeconnectd
 1608 enlight+  20   0  570784  35688  29944 S   0.0  0.4   0:02.87 polkit-kde+
 1584 enlight+  20   0  781016  33308  29056 S   0.0  0.4   0:04.03 kactivitym+

10。アイドル状態のプロセスの表示を切り替えます-'i'

'i'を押して、アイドル/スリーププロセスの表示を切り替えます。デフォルトでは、すべてのプロセスが表示されます。

11。上部の情報を非表示/表示-'l'、't'、'm'

「l」キーは負荷平均情報を非表示にします。
「m」キーはメモリ情報を非表示にします。
「t」キーはタスクとCPU情報を非表示にします。

ヘッダー情報領域を非表示にすると、リストに表示されるプロセスが増えます。

12。フォレストモード-'V'

「V」を押すと、親子階層のプロセスが表示されます。このように見えます-

top - 09:29:34 up 17 min,  3 users,  load average: 0.37, 0.58, 0.66
Tasks: 244 total,   1 running, 242 sleeping,   0 stopped,   1 zombie
%Cpu(s):  6.1 us,  2.1 sy,  0.0 ni, 91.8 id,  0.1 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem:   8165300 total,  3968224 used,  4197076 free,    82868 buffers
KiB Swap:  1998844 total,        0 used,  1998844 free.  1008416 cached Mem
  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
    1 root      20   0   37844   5964   4012 S   0.0  0.1   0:01.08 systemd
  279 root      20   0   35376   4132   3732 S   0.0  0.1   0:00.22  `- systemd-journal
  293 root      20   0   44912   4388   3100 S   0.0  0.1   0:00.14  `- systemd-udevd
  493 systemd+  20   0  102360   2844   2572 S   0.0  0.0   0:00.01  `- systemd-timesyn
  614 root      20   0  337360   8624   6904 S   0.0  0.1   0:00.03  `- ModemManager
  615 avahi     20   0   40188   3464   3096 S   0.0  0.0   0:00.01  `- avahi-daemon
  660 avahi     20   0   40068    324     12 S   0.0  0.0   0:00.00      `- avahi-daem+
  617 root      20   0  166276   8788   8076 S   0.0  0.1   0:00.07  `- thermald
  621 root      20   0   15664   2496   2312 S   0.0  0.0   0:00.00  `- anacron
 2792 root      20   0    4476    844    760 S   0.0  0.0   0:00.00      `- sh
 2793 root      20   0    4364    684    604 S   0.0  0.0   0:00.00          `- run-pa+
 2802 root      20   0    4476   1672   1536 S   0.0  0.0   0:00.00              `- apt
 2838 root      20   0    7228    676    596 S   0.0  0.0   0:00.00                  `+
  630 root      20   0   28932   3128   2860 S   0.0  0.0   0:00.00  `- cron
  634 root      20   0  283120   6776   5924 S   0.0  0.1   0:00.04  `- accounts-daemon
  636 root      20   0   86160   7224   6128 S   0.0  0.1   0:00.01  `- cupsd

13。表示するプロセスの数を変更します-'n'

特定のフィルター基準に基づいて、少数のプロセスのみを監視するとします。 「n」を押して、表示するプロセスの数を入力します。

-
最大タスク=0、(0は無制限)に変更という行が表示されます。

14。すべてのCPUコアを表示-'1'

「1」を押すと、個々のCPUコアに関する負荷情報が表示されます。外観は次のとおりです-

top - 10:45:47 up  1:42,  5 users,  load average: 0.81, 1.14, 0.94
Tasks: 260 total,   2 running, 257 sleeping,   0 stopped,   1 zombie
%Cpu0  :  3.6 us,  3.6 sy,  0.0 ni, 92.9 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu1  :  3.1 us,  3.6 sy,  0.0 ni, 93.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu2  :  7.6 us,  1.8 sy,  0.0 ni, 90.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu3  :  9.6 us,  2.6 sy,  0.0 ni, 87.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem:   8165300 total,  7118864 used,  1046436 free,   204224 buffers
KiB Swap:  1998844 total,        0 used,  1998844 free.  3410364 cached Mem

15。列の表示/非表示'f'

デフォルトでは、topは、表示できる他の多くの列のうち、ほんの数列しか表示しません。特定の列を追加または削除したり、列の順序を変更したりする場合は、f

を押します。
Fields Management for window 1:Def, whose current sort field is %CPU
   Navigate with Up/Dn, Right selects for move then <Enter> or Left commits,
   'd' or <Space> toggles display, 's' sets sort.  Use 'q' or <Esc> to end!
* PID     = Process Id      PGRP    = Process Group   vMj     = Major Faults
* USER    = Effective Use   TTY     = Controlling T   vMn     = Minor Faults
  PR      = Priority        TPGID   = Tty Process G   USED    = Res+Swap Size
  NI      = Nice Value      SID     = Session Id      nsIPC   = IPC namespace
  VIRT    = Virtual Image   nTH     = Number of Thr   nsMNT   = MNT namespace
  RES     = Resident Size   P       = Last Used Cpu   nsNET   = NET namespace
  SHR     = Shared Memory   TIME    = CPU Time        nsPID   = PID namespace
  S       = Process Statu   SWAP    = Swapped Size    nsUSER  = USER namespac
* %CPU    = CPU Usage       CODE    = Code Size (Ki   nsUTS   = UTS namespace
* %MEM    = Memory Usage    DATA    = Data+Stack (K
  TIME+   = CPU Time, hun   nMaj    = Major Page Fa
* COMMAND = Command Name/   nMin    = Minor Page Fa
  PPID    = Parent Proces   nDRT    = Dirty Pages C
  UID     = Effective Use   WCHAN   = Sleeping in F
  RUID    = Real User Id    Flags   = Task Flags <s
  RUSER   = Real User Nam   CGROUPS = Control Group
  SUID    = Saved User Id   SUPGIDS = Supp Groups I
  SUSER   = Saved User Na   SUPGRPS = Supp Groups N
  GID     = Group Id        TGID    = Thread Group
  GROUP   = Group Name      ENVIRON = Environment v

*または太字でマークされたフィールドは、このリストに表示される順序で表示されるフィールドです。

上/下矢印キーを使用してリストをナビゲートし、「d」を押してそのフィールドの表示を切り替えます。完了したら、qを押してプロセスリストに戻ります

次の出力には、PID、USER、CPU、MEMORY、およびCOMMAND列のみが表示されます。

top - 15:29:03 up  6:16,  4 users,  load average: 0.99, 0.61, 0.63
Tasks: 247 total,   1 running, 245 sleeping,   0 stopped,   1 zombie
%Cpu(s):  6.3 us,  2.0 sy,  0.2 ni, 91.5 id,  0.1 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem:   8165300 total,  6089244 used,  2076056 free,   189272 buffers
KiB Swap:  1998844 total,        0 used,  1998844 free.  1902836 cached Mem
  PID USER      %CPU %MEM COMMAND
 1921 enlight+   9.2  3.6 /opt/google/chrome/chrome
 3078 enlight+   6.9  4.2 /opt/google/chrome/chrome --type=renderer --lang=en-+
 1231 root       5.3  1.0 /usr/bin/X :0 -auth /var/run/sddm/:0 -nolisten tcp -+
 1605 enlight+   2.8  2.5 /usr/bin/plasmashell --shut-up
 1596 enlight+   1.8  1.0 kwin_x11 -session 10d8d4e36b000144740943900000009530+
 2088 enlight+   0.9  1.7 /opt/google/chrome/chrome --type=renderer --lang=en-+
 2534 enlight+   0.8  1.7 /opt/google/chrome/chrome --type=renderer --lang=en-+
 5695 enlight+   0.8  0.7 /usr/bin/python /usr/bin/terminator
 1859 enlight+   0.2  1.2 /usr/bin/perl /usr/bin/shutter --min_at_startup
 2060 enlight+   0.2  1.5 /opt/google/chrome/chrome --type=renderer --lang=en-+
 3541 enlight+   0.2  3.6 /opt/google/chrome/chrome --type=renderer --lang=en-+

16。バッチモード

Topはバッチモード出力もサポートしており、単一画面ではなく情報を順番に印刷し続けます。これは、後で何らかの分析を行うために上位の出力をログに記録する必要がある場合に役立ちます。

これは、1秒間隔でのCPU使用率を示す簡単な例です。

$ top -d 1.0 -b | grep Cpu

17。複数のパネルに出力を分割-'A'

各パネルは、異なる列で並べ替えることができます。 「a」を押してパネル内を移動します。各パネルには、異なるフィールドのセットと異なるソート列を表示できます。

トップコマンド複数のパネル

結論

Topは、システムリソースの使用状況とプロセスの詳細を確認するための優れたコマンドラインツールです。監視と迅速な診断のためにサーバーでよく使用されます。

より優れたユーザーインターフェイスを備えたより簡単なものをお探しの場合は、htopをお試しください。 Htopには直感的なユーザーインターフェイスがあり、キーボードショートカットを覚える必要はありません。 Htopには、使用方法を説明する画面上の説明があります。


Debian
  1. 7 Linux df コマンドの例

  2. 8 Linux TR コマンドの例

  3. Linux での rm コマンドの例

  1. Linuxのfindコマンドの25の簡単な例

  2. Linux での ps コマンドの例

  3. w Linux でのコマンド例

  1. Linuxpsコマンド

  2. Linux での sa コマンドの例

  3. Linux での ac コマンドの例