Linuxのtopコマンドの詳細

6277 ワード

トップコマンドはLinuxでよく使用されるパフォーマンス分析ツールで、Windowsのタスクマネージャと同様に、システム内の各プロセスのリソース使用状況をリアルタイムで表示できます.
top表示システムの現在のプロセスとその他の状況は、現在の状態を絶えずリフレッシュできる動的表示プロセスである.このコマンドをフロントで実行すると、ユーザがプログラムを終了するまでフロントを独占する.より正確には、topコマンドはリアルタイムのシステムプロセッサの状態監視を提供する.システムのCPUが最も「敏感」なタスクのリストが表示されます.このコマンドはCPUによって使用することができる.メモリの使用時間と実行時間はタスクをソートします.また、このコマンドの多くの特性は、インタラクティブコマンドやパーソナルカスタムファイルで設定することができる.
その使い方を詳しく説明します.
# top
top - 09:03:25 up 134 days, 17:57,  1 user,  load average: 0.06, 0.06, 0.05
Tasks: 202 total,   1 running, 201 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.1 us,  0.1 sy,  0.0 ni, 99.8 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem : 16266128 total,   357332 free, 10386152 used,  5522644 buff/cache
KiB Swap:        0 total,        0 free,        0 used.  5343648 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                            
20849 mysql     20   0 2342028 509656  25712 S   0.3  3.1  16:56.58 mysqld                                                                                             
22826 root      20   0   11.0g 731960  16196 S   0.3  4.5  23:06.86 java                                                                                               
22896 root      20   0 1205976  34488   3688 S   0.3  0.2 317:44.19 containerd                                                                                         
27162 root      20   0  161832   2172   1492 R   0.3  0.0   0:00.15 top                                                                                                
    1 root      20   0  193952   6256   3236 S   0.0  0.0   6:24.21 systemd                                                                                            
    2 root      20   0       0      0      0 S   0.0  0.0   0:03.94 kthreadd                                                                                           
    3 root      20   0       0      0      0 S   0.0  0.0   2:42.26 ksoftirqd/0 
    ......

統計情報領域の最初の5行はシステム全体の統計情報である.最初の行は、uptimeコマンドの実行結果と同じタスクキュー情報です.その内容は次のとおりです.
top - 09:03:25 up 134 days, 17:57,  1 user,  load average: 0.06, 0.06, 0.05
  • 09:03:25:現在時刻
  • up 134 days,17:57:システム稼働時間、フォーマット日、時:分
  • 1 user:現在のログインユーザ数
  • load average:0.06,0.06,0.05システム負荷、すなわちタスクキューの平均長.3つの数値は、それぞれ1分、5分、15分前から現在までの平均です.

  • 第2、第3の動作プロセスとCPUの情報.複数のCPUがある場合、これらのコンテンツは2行を超える場合があります.内容は次のとおりです.
    Tasks: 202 total,   1 running, 201 sleeping,   0 stopped,   0 zombie
    %Cpu(s):  0.1 us,  0.1 sy,  0.0 ni, 99.8 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
    

    Task:
  • totalプロセス合計
  • running実行中のプロセス数
  • sleeping睡眠の進行数
  • stopped停止プロセス数
  • zombieゾンビプロセス数Cpu(s):
  • 0.1 usユーザースペース占有CPU百分率
  • 0.1 syカーネル空間占有CPU百分率
  • 0.0 niユーザプロセス空間内で優先度を変更したプロセス占有CPU割合
  • 98.8 idアイドルCPU割合
  • 0.0 wa入出力待ちCPU時間割合
  • 0.0 hi:ハードウェアCPU割込み占有率
  • 0.0 si:ソフトブレーク占有率
  • 0.0 st:仮想マシン使用率
  • 4,5行目はメモリ情報です.内容は次のとおりです.
    KiB Mem : 16266128 total,   357332 free, 10386152 used,  5522644 buff/cache
    KiB Swap:        0 total,        0 free,        0 used.  5343648 avail Mem 
    

    Mem:
  • 16266128 total物理メモリ合計
  • 10386152 used使用物理メモリ合計
  • 357332 free空きメモリ合計
  • 5522644 buffersは、カーネルキャッシュのメモリ量Swap:0 totalスイッチング領域総量0 k usedで使用されるスイッチング領域総量0 freeアイドルスイッチング領域総量123988 k cachedバッファのスイッチング領域総量として使用され、メモリの内容はスイッチング領域に変換され、その後メモリに変換されるが、使用されたスイッチング領域はまだ上書きされていない.この値は、これらのコンテンツがすでにメモリに存在するスワップ領域のサイズであり、対応するメモリが再びスワップされたときにスワップ領域に書き込む必要はありません.

  • 以下に、各プロセスの詳細を示します.
                
    a    PID       id
    b    PPID       id
    c    RUSER   Real user name
    d    UID             id
    e    USER             
    f    GROUP           
    g    TTY             。               ?
    h    PR         
    i    NI      nice 。        ,        
    j    P            CPU,   CPU      
    k    %CPU            CPU       
    l    TIME         CPU    ,   
    m    TIME+        CPU    ,  1/100 
    n    %MEM                
    o    VIRT               ,  kb。VIRT=SWAP+RES
    p    SWAP              ,      ,  kb。
    q    RES          、           ,  kb。RES=CODE+DATA
    r    CODE                  ,  kb
    s    DATA              (   + )         ,  kb
    t    SHR           ,  kb
    u    nFLT          
    v    nDRT             ,        。
    w    S           (D=         ,R=  ,S=  ,T=  /  ,Z=    )
    x    COMMAND    /   
    y    WCHAN          ,            
    z    Flags       ,   sched.h
    

    デフォルトでは重要なPID、USER、PR、NI、VIRT、RES、SHR、S、%CPU、%MEM、TIME+、COMMAND列のみが表示されます.次のショートカットキーで表示内容を変更できます.
    表示内容を変更fキーで表示する内容を選択します.fキーを押すと列のリストが表示され、a-zを押すと対応する列が表示または非表示になり、最後に戻るキーを押して確定します.oキーを押すと、列の表示順序を変更できます.小文字のa-zで対応する列を右に移動し、大文字のA-Zで対応する列を左に移動します.最後にリターンキーを押して確定します.大文字のFキーまたはOキーを押し、a-zを押すと、プロセスを対応するカラムでソートできます.大文字のRキーは、現在のソートを逆転させることができます.
    コマンドの使用
    topフォーマットの使用
    top [-] [d] [p] [q] [c] [C] [S] [s] [n]
    d                   。        s        。 
    p         ID            。 
    q      top           。             ,  top            。 
    S        
    s  top          。                。 
    i  top             。 
    c                  
    

    その他の実用的なコマンドは、topコマンドの実行中に使用できるインタラクティブなコマンドについて説明します.使用の観点から、これらのコマンドを熟練して把握することは、オプションを把握するよりも重要です.これらのコマンドはすべてアルファベットで、コマンドラインオプションでsオプションを使用すると、一部のコマンドがブロックされる可能性があります.
    Ctrl+L         。 
    h  ?       ,             。 
    k             。                PID,                。           15  ;              9       。      15。            。 
    i          。         。 
    q     。 
    r              。               PID             。             ,                 。    10。 
    S        。 
    s              。             ,   s。     ,    m s。  0         ,    5 s。               ,          ,              ,            。 
    f  F               。 
    o  O          。 
    l                。 
    m         。 
    t        CPU    。 
    c               。 
    M             。 
    P   CPU           。 
    T     /        。 
    W        ~/.toprc   。   top         。
    

    一般的な操作:
    top   //  5              
    top -d 2  //  2              
    top -c  //  5            ,           (       )
    top -p 12345 -p 6789//  5   pid 12345 pid 6789            
    top -d 2 -c -p 123456 //  2   pid 12345          ,