top,htop,ps,dstat命令的使用

top

top是一個動態顯示過程,即可跟據用戶的按鍵不斷刷新當前狀態,top命令提供了實時的對當前系統的狀態監視。

top - 11:53:40 up 11 days, 13:32,  3 users,  load average: 0.00, 0.01, 0.05
Tasks: 179 total,   1 running, 178 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.8 us,  0.7 sy,  0.0 ni, 98.5 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  1880328 total,   203168 free,   151380 used,  1525780 buff/cache
KiB Swap:  2097148 total,  2097044 free,      104 used.  1389256 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                                         
30624 root      20   0  250396  21912   4680 S   3.0  1.2   8:43.05 /usr/bin/python /usr/bin/glances -o HTML -f /usr/local/nginx/html                                               
    1 root      20   0  134164  14168   3116 S   0.0  0.8   2:12.55 /usr/lib/systemd/systemd --switched-root --system --deserialize 20                                              
    2 root      20   0       0      0      0 S   0.0  0.0   0:00.20 [kthreadd]  
...

一、top前五行信息

統計信息區前五行是系統整體的統計信息。

  • 第一行是任務隊列信息

同uptime命令的執行結果:

[root@localhost ~]#uptime
 11:59:37 up 11 days, 13:38,  3 users,  load average: 0.00, 0.01, 0.05

其內容如下:

  1. 11:59:37 #當前系統的時間

  2. up 11 days, 13:38 #系統的運行的時間

  3. 3 users #當前的登陸的用戶

  4. load average: 0.00, 0.01, 0.05 #系統負載,即任務隊列的平均長度。 三個數值分別為 1分鐘、5分鐘、15分鐘前到現在的平均值。

  • 第二、三行是進程和cpu的信息

  1. Tasks: 179 total #進程總數

  2. 1 running #正在運行的進程數

  3. 178 sleeping #睡眠的進程數

  4. 0 stopped #停止的進程書

  5. 0 zombie #僵尸進程

  6. 0.8 us #用戶空間占有cpu百分比

  7. 0.7 sy #內核空間占用cpu百分比

  8. 0.0 ni #用戶進程空間nice切換進程優先級占用的cpu百分比

  9. 98.5 id #空閑的cpu百分比

  10. 0.0 wa #等待輸入輸出的cpu時間百分比

  11. 0.0 hi #硬件io占用cpu的百分比

  12. 0.0 si #軟件io占用的cpu百分比

  13. 0.0 st #被虛擬化程序偷走的cpu百分比

  • 第四、五行為內存信息

KiB Mem :

  1. 1880328 total #物理內存總量

  2. 203168 free #空閑物理內存的總量

  3. 151380 used #使用的物理內存總量

  4. 1525780 buff/cache #用作內核緩存緩沖的內存量

KiB Swap:

  1. 2097148 total #交換區總量

  2. 2097044 free #交換區空閑總量

  3. 104 used #使用的交換區總量

  4. 1389256 avail Mem #實際可用的內存總量

二、進程信息

  1. PID #進程id

  2. USER #進程所有者的用戶名

  3. PR #優先級

  4. NI #nice值,負值表示高優先級,正值表示低優先級

  5. VIRT #進程使用的虛擬內存總量,單位kb。VIRT=SWAP+RES

  6. RES #進程使用的、未被換出的物理內存,單位kb。RES=CODE+DATA

  7. CODE #可執行代碼占用的物理內存大小,單位kb

  8. DATA #可執行代碼以外的部分(數據段+棧)占用的物理內存大小,單位kb

  9. SHR #共享內存大小,單位kb

  10. S #進程狀態

  11. %CPU #上次更新到現在的CPU時間占用百分比

  12. %MEM #進程使用的物理內存百分比

  13. TIME+ #進程使用的CPU時間總計,單位1/100秒

  14. COMMAND #命令名/命令行

三、進程狀態信息

  1. D:不可中斷的睡眠

  2. R:運行或就緒

  3. S:可中斷的睡眠

  4. T:停止

  5. Z:僵死

  6. <:高優先級進程

  7. N:低優先級進程

  8. +:前臺進程組中的進程

  9. l:多線程進程

  10. s:會話進程首進程

四、top指令 top

  1. M:根據駐留內存大小進行排序

  2. P:根據cpu使用百分比排序

  3. T:根據累計時間進行排序

  4. l:是否顯示平均負載和啟動時間

  5. t:是否顯示進程和cpu狀態相關信息

  6. m:是否顯示內存相關信息

  7. c:是否顯示完整的命令行信息

  8. q:退出top

  9. k:終止某個進程

top選項

  1. -d:刷新時長

  2. -b:刷屏顯示

  3. -m:顯示幾屏

htop

我們了解了top命令的使用,但是還有一個比傳統top更加功能強大的htop命令,它有更加強大的功能及能顯示更多的信息。

CPU[                                                   0.0%]     Tasks: 27, 30 thr; 2 running
  Mem[||||||||||||||||||||||||||||||||||            227/977MB]     Load average: 0.00 0.01 0.05 
  Swp[                                               0/2047MB]     Uptime: 4 days, 15:17:58

    PID USER      PRI  NI  VIRT   RES   SHR S CPU% MEM%   TIME+  Command
  57474 root       20   0  117M  2212  1416 R  0.5  0.2  0:00.53 htop
   1370 root       20   0  540M 16360  5728 S  0.0  1.6  0:38.55 /usr/bin/python -Es /usr/sbin/tuned -l -P
  42295 root       20   0  137M  5136  3868 S  0.5  0.5  0:00.43 sshd: root@pts/0,pts/1
  ...

顯示的內容更top相似,那我們來了解下htop更強大的功能:

  • htop支持鼠標操作

  • htop可以定制化顯示內容

CPU[|                                                  0.4%]     Tas[|                                                 2/385]
  Mem[||||||||||||||||||||||||||||||||||            230/977MB]     Load average: 0.00 0.01 0.05 
  Swp[                                               0/2047MB]     Uptime: 4 days, 15:32:24

   PPID START     PID USER      PRI  NI  VIRT   RES   SHR S CPU% MEM%   TIME+  Command
   1131 00:51    1146 root       20   0  454M 20876 10760 S  0.0  2.1  0:10.80 /usr/bin/docker-current daemon --selinux-enabled
   1131 00:51    1153 root       20   0  454M 20876 10760 S  0.0  2.1  0:00.00 /usr/bin/docker-current daemon --selinux-enabled
   1131 00:51    1184 root       20   0  454M 20876 10760 S  0.0  2.1  0:19.32 /usr/bin/docker-current daemon --selinux-enabled
   1131 Feb06    1267 root       20   0  454M 20876 10760 S  0.0  2.1  0:07.20 /usr/bin/docker-current daemon --selinux-enabled
   1131 Feb06    1273 root       20   0  454M 20876 10760 S  0.0  2.1  0:00.02 /usr/bin/docker-current daemon --selinux-enabled
   1131 00:51    1335 root       20   0  454M 20876 10760 S  0.0  2.1  0:00.00 /usr/bin/docker-current daemon --selinux-enabled
  • htop可以查找或過濾要查找顯示的內容

CPU[                                                   0.0%]     Tas[|                                                 2/385]
  Mem[||||||||||||||||||||||||||||||||||            230/977MB]     Load average: 0.00 0.01 0.05 
  Swp[                                               0/2047MB]     Uptime: 4 days, 15:34:20

   PPID START     PID USER      PRI  NI  VIRT   RES   SHR S CPU% MEM%   TIME+  Command      
   1 Feb06    1129 grafana    20   0  407M 15116  8352 S  0.0  1.5  0:08.34 ├─ /usr/sbin/grafana-server --config=/etc/grafana/gr      
   1 00:51   26605 grafana    20   0  407M 15116  8352 S  0.0  1.5  0:00.00 │  ├─ /usr/sbin/grafana-server --config=/etc/grafana      
   1 00:51   14594 grafana    20   0  407M 15116  8352 S  0.0  1.5  0:00.25 │  ├─ /usr/sbin/grafana-server --config=/etc/grafana      
   1 00:51    1232 grafana    20   0  407M 15116  8352 S  0.0  1.5  0:01.90 │  ├─ /usr/sbin/grafana-server --config=/etc/grafana      
   1 00:51    1203 grafana    20   0  407M 15116  8352 S  0.0  1.5  0:00.02 │  ├─ /usr/sbin/grafana-server --config=/etc/grafana      
   1 00:51    1143 grafana    20   0  407M 15116  8352 S  0.0  1.5  0:00.00 │  ├─ /usr/sbin/grafana-server --config=/etc/grafana     
    1 00:51    1140 grafana    20   0  407M 15116  8352 S  0.0  1.5  0:00.39 │  └─ /usr/sbin/grafana-server --config=/etc/grafana

ps

查看進程快照

ps 有兩種風格的命令:

SysV風格:以-開頭

BSD風格:不需要-

常見的組合:

BSD風格:

  • a:所有與終端有關的進程

  • u:以用戶為中心,進行顯示

  • x:所有與終端無關的進程

  • o:自定義顯示的字段

o后面常見的字段有:

  • pid:進程的id

  • ni:nice值

  • pri:優先級

  • psr: 進程分配到那個cpu

  • stat: 進程的狀態

  • tty: 顯示終端

  • comm: 顯示命令

  • ppid:顯示父進程

  • rtprio: 實時優先級

SysV風格:

  • -e: 顯示所有進程

  • -f: 顯示進程間關系

  • -o: 自定義顯示字段

datst

收集系統信息

  • -c, –cpu: 顯示cpu相關信息

  • -C #,#…total

  • -d,–disk: 顯示磁盤的相關信息

  • -D sda,sdb…total

  • -g: 顯示page相關的速率數據

  • -m:memory的相關統計數據

  • -n:interface的相關統計數據

  • -p:顯示process的相關統計數據

  • -r:顯示io請求的相關的統計數據

  • -s:顯示swapped的相關統計數據

  • –tcp:顯示tcp信息

  • –udp:顯示udp信息

  • –raw:顯示裸套接字信息

  • –socket:顯示socket信息

  • –ipc:顯示進程間通信信息

  • –top-cpu:顯示最占cpu的進程

  • –top-io:最占用io的進程

  • –top-mem:最占用內存的進程

  • –top-latency:延遲最大的進程

原創文章,作者:N25_隨心,如若轉載,請注明出處:http://www.www58058.com/68719

(0)
N25_隨心N25_隨心
上一篇 2017-03-15
下一篇 2017-03-15

相關推薦

  • Linux基礎–命令幫助的獲取及history歷史命令

    第一部分    Linux系統如何獲取命令幫助     1、命令類型以及簡單幫助的獲取         linux系統上,基本命令分為兩類,一類是內建命令,一類是外部命令。所謂內建命令,是指由linux內核自帶的系統命令…

    Linux干貨 2016-07-28
  • 計劃任務

    Linux計劃任務、周期性的執行任務

    2017-12-24
  • Linux獲取幫助的途徑、history命令及文件系統結構

        在學習Linux的過程中,往往會遇到一些難以理解的問,這時我們就需要尋求幫助,下面是獲取幫助的幾個途徑。 一、man(manual)手冊(命令) 1、man手冊介紹 (1)man手冊是系統自帶的聯機幫助手冊,善于利用man命令,可以幫我們解決遇到的大部分問題。 (2)man手冊分為九個章節,每個章節是獨立的。 章節1:表…

    Linux干貨 2016-07-29
  • shell腳本之選擇與執行

    流程控制 ? 過程式編程語言: 順序執行 選擇執行 循環執行 選擇執行:if語句 ? 注意:if語句可嵌套 ? 單分支 if 判斷條件:then 條件為真的分支代碼 fi ? 雙分支 if 判斷條件; then 條件為真的分支代碼 else 條件為假的分支代碼 fi 多分支 if…

    Linux干貨 2016-09-19
  • RAID常見級別及特性

    磁盤陣列(Redundant Arrays of Independent Disks,RAID),通過軟件或者硬件的手段將多個磁盤整合成一個磁盤來使用,以此來提高磁盤的性能,并提供數據冗余的功能。 目前常見的RAID等級: raid0,被稱為條帶卷。 條帶卷,我們可以通過名字來想象:RAID0通過把文件切割之后把數據像一條帶子一樣平鋪在每個磁盤之上。 由于文…

    Linux干貨 2016-01-05
  • 進程管理

    進程概念 內核的功用:進程管理、文件系統、網絡功能、內存管理、驅動程序、安全功能等 Process(進程):運行中的程序的一個副本,是被載入內存的一個指令集合 進程ID (Process ID ,PID )號碼被用來標記各個進程 UID、GID、和SELinux語境決定對文件系統的存取和訪問權限 通常從執行進程的用戶來繼承 存在生命周期 task struc…

    2017-05-09

評論列表(1條)

  • 馬哥教育
    馬哥教育 2017-03-30 14:07

    不錯,總結歸納的非常好,這樣對比歸納記憶將會更有利于長時間記憶。

欧美性久久久久