日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

概述

top命令是linux下常用的性能分析工具,能夠實時顯示系統中各個進程的資源占用狀況,其作用類似于windows系統中的任務管理器。

 

top命令可以動態顯示系統的負載情況,本文將詳細介紹top命令的方方面面。

常用參數

top命令支持一些參數,下面是一些常用的參數:

  • -d:設置刷新頻率。
  • -n:設置刷新的次數。
  • -p:顯示指定進程的信息。
  • -u:顯示指定用戶的進程信息。
  • -o:指定排序字段。
  • -h:顯示幫助信息。

顯示每 2 秒刷新一次且僅刷新 10 次的進程信息:

top -d 2 -n 10

顯示指定用戶 root 的進程信息:

top -u root

顯示指定進程 ID 為 123 的信息:

top -p 123

以內存使用率排序:

top -o %MEM

top命令內容

通常top命令的輸出如下所示,它包含了很多方面的數據,例如CPU,內存,系統的任務等等數據。

top - 10:32:42 up 38 min,  2 users,  load average: 0.00, 0.00, 0.00
Tasks: 237 total,   1 running, 236 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.3 us,  0.4 sy,  0.0 ni, 99.1 id,  0.0 wa,  0.1 hi,  0.1 si,  0.0 st
MiB Mem :   3635.0 total,   3229.8 free,    441.0 used,    170.1 buff/cache
MiB Swap:   2072.0 total,   2072.0 free,      0.0 used.   3194.0 avAIl Mem

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
   1461 root      20   0    7252   3672   3280 S   0.7   0.1   0:00.03 bash
   1621 root      20   0   10700   4360   3476 R   0.7   0.1   0:00.05 top
   1477 root      20   0       0      0      0 I   0.3   0.0   0:00.01 kworker/0:0-events
      1 root      20   0  103372  12748   9724 S   0.0   0.3   0:02.18 systemd
      2 root      20   0       0      0      0 S   0.0   0.0   0:00.04 kthreadd
      3 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_gp
      4 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_par_gp
      5 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 slub_flushwq
      6 root       0 -20       0      0      0 I   0.0   0.0   0:00.00.NETns
      8 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker/0:0H-events_highpri
     10 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker/0:1H-events_highpri
     11 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 mm_percpu_wq
     13 root      20   0       0      0      0 I   0.0   0.0   0:00.00 rcu_tasks_kthre

下面便一行一行的看看top命令的數據。

第一行其實代表了系統的啟動時間和系統的平均負載。

top - 10:32:42 up 38 min,  2 users,  load average: 0.00, 0.00, 0.00

top - 10:32:42 up 38 min 代表當前系統的時間是10:32:42,并且該機器已經啟動了38 min。2 users代表當前有兩個用戶登錄。load average: 0.00, 0.00, 0.00代表的是系統最近5、10和15分鐘內的平均負載。

這里需要注意的是平均負載并不是代表CPU的使用率。簡單來說,平均負載是指單位時間內,系統處于可運行狀態不可中斷狀態的平均進程數,也就是平均活躍進程數

所謂可運行狀態和不可中斷狀態是指:

  • 可運行狀態(R):正在CPU上運行或者正在等待CPU的進程狀態,如上;
  • 不可中斷狀態(D):不可中斷是指一些正在處于內核關鍵流程的進程,如果盲目打斷,會造成不可預知的后果,比如正在寫磁盤的進程,盲目被打斷,可能會造成讀寫不一致的問題。

因此這里再次強調load average和CPU使用率并沒有直接關系,其值可以大于100。

其實第一行的顯示數據和命令uptime的作用是一樣的。

第二行顯示的是關于進程狀態的總結。

進程可以處于不同的狀態,這里顯示了處于各種狀態的進程數量,例如正在運行的任務、睡眠的任務、停止的任務、僵尸進程的數量等。

在下面的顯示中, 系統總共有237個進程,其中1個進程處于running狀態,236個進程處于sleeping狀態,0個進程處于stop狀態,0個進程處于僵尸進程狀態。

Tasks: 237 total,   1 running, 236 sleeping,   0 stopped,   0 zombie

第三行是比較關鍵的一行,線上定位問題的時候,會經常關注這個點。

%Cpu(s):  0.3 us,  0.4 sy,  0.0 ni, 99.1 id,  0.0 wa,  0.1 hi,  0.1 si,  0.0 st

這里的每一個參數的含義如下所示:

  • us, user: 用戶空間的CPU百分比
  • sy,system: 內核空間占用的CPU百分比
  • ni,niced:調整過優先級的用戶進程占用CPU百分比
  • id,idle: 空閑CPU的百分比
  • wa,IO wait: 用于等待IO完成的CPU時間
  • hi:處理硬件中斷的CPU時間
  • si: 處理軟件中斷的CPU時間
  • st:這個虛擬機被hypervisor偷去的CPU時間(譯注:如果當前處于一個hypervisor下的vm,實際上hypervisor也是要消耗一部分CPU處理時間的)。

第四部分是關于內存部分的數據。這里包含了兩行,

第一行是物理內存的使用情況,第二行是關于交換分區的使用情況。

MiB Mem :   3635.0 total,   3229.8 free,    441.0 used,    170.1 buff/cache
MiB Swap:   2072.0 total,   2072.0 free,      0.0 used.   3194.0 avail Mem

第一行的含義如下:

  • 3635.0 total — 物理內存總量(3265MB )
  • 3229.8 free — 空閑的內存總量( 3229.8MB )
  • 441.0 used — 使用中的內存總量( 441.0MB )
  • 170.1 buff/cache — block buffer + page cache 所占用的內存大小 (169M)

這里補充一句buff/cache的內容,在Linux 2.4以前,page cachebuffer cache是兩個獨立的緩存,Linux 2.4開始page cachebuffer cache進行了統一。

第二行的含義如下:

  • 2072.0 total - 交換分區的總量
  • 2072.0 free - 空閑的交換分區的總量
  • 0.0 used - 已使用的交換分區大小
  • 3194.0 avail Mem: 這個值是系統的估算值,表示可用于啟動新程序的物理內存大?。ú话?swap 空間)

第五部分是關于每個進程的數據

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
   1461 root      20   0    7252   3672   3280 S   0.7   0.1   0:00.03 bash
   1621 root      20   0   10700   4360   3476 R   0.7   0.1   0:00.05 top
   1477 root      20   0       0      0      0 I   0.3   0.0   0:00.01 kworker/0:0-events
      1 root      20   0  103372  12748   9724 S   0.0   0.3   0:02.18 systemd
      2 root      20   0       0      0      0 S   0.0   0.0   0:00.04 kthreadd
      3 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_gp

在橫向列出的系統屬性和狀態下面,是以列顯示的進程。不同的列代表下面要解釋的不同屬性。

  • PID:進程ID,進程的唯一標識符
  • USER:進程所有者的實際用戶名。
  • PR:進程的調度優先級。這個字段的一些值是'rt'。這意味這這些進程運行在實時態。
  • NI:進程的nice值(優先級)。NI的值處于[-20, 19],越小的值意味著越高的優先級。
  • VIRT:進程使用的虛擬內存。默認是KB。
  • RES:駐留內存大小。駐留內存是任務使用的非交換物理內存大小,默認是KB。
  • SHR:SHR是進程使用的共享內存,默認是KB。
  • S:這個是進程的狀態。它有以下不同的值:D – 不可中斷的睡眠態。R – 運行態S – 睡眠態T – 被跟蹤或已停止Z – 僵尸態
  • CPU:自從上一次更新時到現在任務所使用的CPU時間百分比。
  • MEM:進程使用的可用物理內存百分比。
  • TIME:任務啟動后到現在所使用的全部CPU時間,精確到百分之一秒。
  • COMMAND:運行進程所使用的命令。

使用技巧

多核CPU監控

在top的基本視圖中,按數字1,可以監控每個邏輯CPU的狀況,例如下面的例子,我的虛擬機包含了4個cpu,這里顯示了4個CPU的運行狀況。

top - 13:35:11 up  3:40,  2 users,  load average: 0.00, 0.02, 0.00
Tasks: 234 total,   1 running, 233 sleeping,   0 stopped,   0 zombie
%Cpu0  :  0.3 us,  0.7 sy,  0.0 ni, 98.7 id,  0.0 wa,  0.3 hi,  0.0 si,  0.0 st
%Cpu1  :  0.7 us,  0.3 sy,  0.0 ni, 98.7 id,  0.0 wa,  0.0 hi,  0.3 si,  0.0 st
%Cpu2  :  0.3 us,  0.7 sy,  0.0 ni, 99.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu3  :  0.3 us,  0.3 sy,  0.0 ni, 99.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   3635.0 total,   3188.5 free,    461.1 used,    209.5 buff/cache
MiB Swap:   2072.0 total,   2072.0 free,      0.0 used.   3173.9 avail Mem

切換內存的單位

  • 切換任務區的內存單位

在top的基本試圖中,按字母e,可以切換每個任務占用內存的大小的單位, 從 KB、MB、GB、TB、PB 到 EB 循環切換。下面切換為了以MB為單位:

top - 14:45:06 up  4:59,  1 user,  load average: 0.02, 0.01, 0.00
Tasks: 228 total,   2 running, 226 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.3 us,  0.3 sy,  0.0 ni, 99.2 id,  0.0 wa,  0.1 hi,  0.1 si,  0.0 st
MiB Mem :   3635.0 total,   3193.4 free,    454.6 used,    211.3 buff/cache
MiB Swap:   2072.0 total,   2072.0 free,      0.0 used.   3180.4 avail Mem

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
  94996 root      20   0   10.4m   4.3m   3.4m R   0.7   0.1   0:00.05 top
   1712 root      20   0    0.0m   0.0m   0.0m I   0.3   0.0   0:35.48 kworker/0:0-events
      1 root      20   0  165.1m  12.5m   9.6m S   0.0   0.3   1:38.13 systemd
      2 root      20   0    0.0m   0.0m   0.0m S   0.0   0.0   0:00.05 kthreadd
      3 root       0 -20    0.0m   0.0m   0.0m I   0.0   0.0   0:00.00 rcu_gp
      4 root       0 -20    0.0m   0.0m   0.0m I   0.0   0.0   0:00.00 rcu_par_gp
  • 切換匯總區的內存單位 使用大小字母E,可以實現匯總區域的內存的單位從 KB、MB、GB、TB、PB 到 EB 循環切換。
top - 14:54:18 up  5:08,  1 user,  load average: 0.02, 0.02, 0.00
Tasks: 227 total,   2 running, 225 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.3 us,  0.4 sy,  0.0 ni, 99.1 id,  0.0 wa,  0.1 hi,  0.1 si,  0.0 st
KiB Mem :  3722236 total,  3268096 free,   467500 used,   216364 buff/cache
KiB Swap:  2121724 total,  2121724 free,        0 used.  3254736 avail Mem

top - 14:54:34 up  5:08,  1 user,  load average: 0.02, 0.02, 0.00
Tasks: 227 total,   1 running, 226 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.4 us,  0.4 sy,  0.0 ni, 99.0 id,  0.0 wa,  0.0 hi,  0.1 si,  0.0 st
MiB Mem :   3635.0 total,   3186.9 free,    461.2 used,    211.3 buff/cache
MiB Swap:   2072.0 total,   2072.0 free,      0.0 used.   3173.8 avail Mem

top - 14:54:44 up  5:08,  1 user,  load average: 0.01, 0.02, 0.00
Tasks: 227 total,   1 running, 226 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
GiB Mem :      3.5 total,      3.1 free,      0.4 used,      0.2 buff/cache
GiB Swap:      2.0 total,      2.0 free,      0.0 used.      3.1 avail Mem

限制展示任務的數量

快捷鍵 n 用于限制要展示的任務的數量,0 表示無限制。默認是全部展示(超過一頁需要翻頁)。

這里輸入n之后,再輸入5,選擇只顯示5條記錄

top - 14:47:34 up  5:01,  1 user,  load average: 0.05, 0.03, 0.00
Tasks: 227 total,   1 running, 226 sleeping,   0 stopped,   0 zombie
%Cpu(s):  1.5 us,  1.5 sy,  0.0 ni, 97.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   3635.0 total,   3187.3 free,    460.8 used,    211.3 buff/cache
MiB Swap:   2072.0 total,   2072.0 free,      0.0 used.   3174.2 avail Mem
Maximum tasks = 0, change to (0 is unlimited)5
    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
      1 root      20   0  169040  12832   9800 S   0.0   0.3   1:38.14 systemd
      2 root      20   0       0      0      0 S   0.0   0.0   0:00.05 kthreadd

顯示如下:

top - 14:48:16 up  5:02,  1 user,  load average: 0.02, 0.02, 0.00
Tasks: 228 total,   1 running, 227 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.3 us,  0.5 sy,  0.0 ni, 99.0 id,  0.0 wa,  0.1 hi,  0.1 si,  0.0 st
MiB Mem :   3635.0 total,   3190.8 free,    457.2 used,    211.3 buff/cache
MiB Swap:   2072.0 total,   2072.0 free,      0.0 used.   3177.8 avail Mem

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
   1386 root      20   0   84320  22744  19808 S   0.3   0.6   0:00.09 smbd
   1514 root      20   0    7252   3696   3304 S   0.3   0.1   0:51.33 bash
  90783 root      20   0       0      0      0 I   0.3   0.0   0:00.02 kworker/2:2-mm_percpu_wq
  95906 root      20   0   10700   4356   3472 R   0.3   0.1   0:00.05 top
      1 root      20   0  169040  12832   9800 S   0.0   0.3   1:38.14 systemd

只展示指定用戶的任務

快捷鍵 u 表示要過濾的用戶,可以加 ! 前綴表示反向條件??梢暂斎?UID 或者 username,直接回車表示取消這個過濾條件。

top - 14:49:30 up  5:03,  1 user,  load average: 0.00, 0.02, 0.00
Tasks: 229 total,   2 running, 227 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.5 us,  0.4 sy,  0.0 ni, 98.9 id,  0.0 wa,  0.1 hi,  0.1 si,  0.0 st
MiB Mem :   3635.0 total,   3190.0 free,    458.0 used,    211.3 buff/cache
MiB Swap:   2072.0 total,   2072.0 free,      0.0 used.   3177.0 avail Mem
Which user (blank for all) root
    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
     46 root      20   0       0      0      0 S   0.3   0.0   0:00.28 kcompactd0
   1454 root      20   0   19112   7260   5176 S   0.3   0.2   0:33.76 sshd
   1514 root      20   0    7252   3696   3304 S   0.3   0.1   0:51.54 bash

按照CPU占用量進行排序

運行top命令后,鍵入大寫字母P,可以對任務的CPU使用情況進行排序,有兩種途徑:

  • 打開大寫鍵盤的情況下,直接按p
  • 為打開大寫鍵盤的情況下,shift+p。
top - 15:01:01 up  5:15,  1 user,  load average: 0.02, 0.03, 0.00
Tasks: 228 total,   2 running, 226 sleeping,   0 stopped,   0 zombie
%Cpu(s):  2.8 us,  2.8 sy,  0.0 ni, 94.4 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   3635.0 total,   3189.3 free,    458.8 used,    211.3 buff/cache
MiB Swap:   2072.0 total,   2072.0 free,      0.0 used.   3176.2 avail Mem

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
    727 root      20   0   26128   9688   8596 S   7.4   0.3   0:00.16 systemd-journal
  99654 root      20   0   10700   4356   3476 R   3.7   0.1   0:00.74 top
      1 root      20   0  169040  12832   9800 S   0.0   0.3   1:38.14 systemd
      2 root      20   0       0      0      0 S   0.0   0.0   0:00.05 kthreadd
      3 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_gp

按照任務的內存使用量進行排序

運行top命令后,鍵入大寫字母M,可以對任務的CPU使用情況進行排序,有兩種途徑:

  • 打開大寫鍵盤的情況下,直接按m
  • 為打開大寫鍵盤的情況下,shift+m。
top - 15:02:25 up  5:16,  1 user,  load average: 0.00, 0.02, 0.00
Tasks: 229 total,   1 running, 228 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.4 us,  0.4 sy,  0.0 ni, 99.0 id,  0.0 wa,  0.1 hi,  0.1 si,  0.0 st
MiB Mem :   3635.0 total,   3187.3 free,    460.8 used,    211.3 buff/cache
MiB Swap:   2072.0 total,   2072.0 free,      0.0 used.   3174.2 avail Mem

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
   1386 root      20   0   84320  22744  19808 S   0.0   0.6   0:00.09 smbd
    813 root      20   0  257068  21184  16536 S   0.0   0.6   0:01.22 NetworkManager
    872 root      20   0   72880  17140  14664 S   0.0   0.5   0:00.62 nmbd
      1 root      20   0  169040  12832   9800 S   0.0   0.3   1:38.14 systemd
   1436 root      20   0   18764  12060  10248 S   0.0   0.3   0:00.03 sshd
   1433 root      20   0   18756  12036  10184 S   0.0   0.3   0:00.04 sshd

分享到:
標簽:命令 top
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定