婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Linux中top命令輸出詳解

Linux中top命令輸出詳解

熱門標簽:電銷機器人怎么錄音 ec外呼系統怎么樣 貴港市機器人外呼系統團隊 天津外呼系統運營商 蕪湖呼叫中心外呼系統哪家強 咸陽穩定外呼系統公司 征服者快捷酒店地圖標注 貴陽語音電銷機器人 漯河電銷外呼系統價格

前言

Linux下的top命令我相信大家都用過,自從我接觸Linux以來就一直用top查看進程的CPU和MEM排行榜。但是top命令的其他輸出結果我都沒有了解,這些指標都代表什么呢,什么情況下需要關注呢?以及top命令輸出結果的來源數據是什么呢,又是怎么一個計算原理呢?

演示環境

# uname -a
Linux VM_1_11_centos 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

top命令

top命令是Linux下常用的性能分析工具,能夠實時(默認是3s刷新一次)的顯示系統的資源使用情況,以及各種進程的資源使用情況,類似于Windows的任務管理器。

top - 11:00:54 up 54 days, 23:35, 6 users, load average: 16.32, 18.75, 21.04
Tasks: 209 total,  3 running, 205 sleeping,  0 stopped,  1 zombie
%Cpu(s): 29.7 us, 18.9 sy, 0.0 ni, 49.3 id, 1.7 wa, 0.0 hi, 0.4 si, 0.0 st
KiB Mem : 32781216 total, 1506220 free, 6525496 used, 24749500 buff/cache
KiB Swap:    0 total,    0 free,    0 used. 25607592 avail Mem 

 PID USER   PR NI  VIRT  RES  SHR S %CPU %MEM   TIME+ COMMAND                                                                                 
root   20  0  15.6g 461676  4704 R 198.0 1.4 11:15.26 python                                                                                  
root   20  0 9725596 240028  4672 R 113.0 0.7  7:48.49 python                                                                                  
root   20  0 6878028 143196  4720 S 82.4 0.4  1:35.03 python

第一行數據相當于uptime命令輸出。11:00:54是當前時間,up 54 days,23:55 是系統已經運行的時間,6 users表示當前有6個用戶在登錄,load average:16.32,18.75,21.04分別表示系統一分鐘平均負載,5分鐘平均負載,15分鐘平均負載。

平均負載

平均負載表示的平均活躍進程數,包括正在running的進程數,準備running(就緒態)的進程數,和處于不可中斷睡眠狀態的進程數。如果平均負載數剛好等于CPU核數,那證明每個核都能得到很好的利用,如果平均負載數大于核數證明系統處于過載的狀態,通常認為是超過核數的70%認為是嚴重過載,需要關注。還需結合1分鐘平均負載,5分鐘平均負載,15分鐘平均負載看負載的趨勢,如果1分鐘負載比較高,5分鐘和15分鐘的平均負載都比較低,則說明是瞬間升高,需要觀察。如果三個值都很高則需要關注下是否某個進程在瘋狂消耗CPU或者有頻繁的IO操作,也有可能是系統運行的進程太多,頻繁的進程切換導致。比如說上面的演示環境是一臺8核的centos機器,證明系統是長期處于過載狀態在運行。

Tasks: 214 total,   4 running, 209 sleeping,   0 stopped,   1 zombie

第二行的Tasks信息展示的系統運行的整體進程數量和狀態信息。214 total 表示系統現在一共有214個用戶進程,4 running 表示4個進程正在處于running狀態,209 sleeping表示209個進程正處于sleeping狀態,0 stopped 表示 0 個進程正處于stopped狀態,1 zombie表示 有1個僵尸進程。

僵尸進程

子進程結束時父進程沒有調用wait()/waitpid()等待子進程結束,那么就會產生僵尸進程。原因是子進程結束時并沒有真正退出,而是留下一個僵尸進程的數據結構在系統進程表中,等待父進程清理,如果父進程已經退出則會由init進程接替父進程進行處理(收尸)。由此可見,如果父進程不作為并且又不退出,就會有大量的僵尸進程,每個僵尸進程會占用進程表的一個位置(slot),如果僵尸進程太多會導致系統無法創建新的進程,因為進程表的容量是有限的。所以當zombie這個指標太大時需要引起我們的注意。下面的進程詳細信息中的S列就代表進程的運行狀態,Z表示該進程是僵尸進程。

消滅僵尸進程的方法:

1.找到僵尸進程的父進程pid(pstress可以顯示進程父子關系),kill -9 pid,父進程退出后init自動會清理僵尸進程。(需要注意的是kill -9并不能殺死僵尸進程)

2.重啟系統。

%Cpu(s): 31.9 us, 30.3 sy, 0.0 ni, 37.0 id, 0.0 wa, 0.0 hi, 0.8 si, 0.0 st

第三行的%Cpu(s)表示的是總體CPU使用情況。

  • us user 表示用戶態的CPU時間比例
  • sy system 表示內核態的CPU時間比例
  • ni nice 表示運行低優先級進程的CPU時間比例
  • id idle 表示空閑CPU時間比例
  • wa iowait 表示處于IO等待的CPU時間比例
  • hi hard interrupt 表示處理硬中斷的CPU時間比例
  • si soft interrupt 表示處理軟中斷的CPU時間比例
  • st steal 表示當前系統運行在虛擬機中的時候,被其他虛擬機占用的CPU時間比例。

所以整體的CPU使用率=1-id。當us很高時,證明CPU時間主要消耗在用戶代碼,需要優化用戶代碼。sy很高時,說明CPU時間都消耗在內核,要么是頻繁的系統調用,要么是頻繁的CPU切換(進程切換/線程切換)。wa很高時,說明有進程在進程頻繁的IO操作,有可能是磁盤IO,也有可能是網絡IO。si很高時,說明CPU時間消耗在處理軟中斷,網絡收發包會觸發系統軟中斷,所以大量的網絡小包會導致軟中斷的頻繁觸發,典型的SYN Floor會導致si很高。

KiB Mem : 32781216 total,  663440 free, 7354900 used, 24762876 buff/cache
KiB Swap:    0 total,    0 free,    0 used. 24771700 avail Mem

第4,5行顯示的是系統內存使用情況。單位是KiB。totol 表示總內存,free 表示沒使用過的內容,used是已經使用的內存。buff表示用于讀寫磁盤緩存的內存,cache表示用于讀寫文件緩存的內存。avail表示可用的應用內存。

Swap原理是把一塊磁盤空間或者一個本地文件當成內存來使用。Swap total表示能用的swap總量,swap free表示剩余,used表示已經使用的。這三個值都為0表示系統關閉了swap功能,由于演示環境是一臺虛擬機,虛擬機一般都關閉swap功能。

第6行開始往后表示的是具體的每個進程狀態:

PID USER   PR NI  VIRT  RES  SHR S %CPU %MEM   TIME+ COMMAND 
  • PID 進程ID
  • USER 進程所有者的用戶名,例如root
  • PR 進程調度優先級
  • NI 進程nice值(優先級),越小的值代表越高的優先級
  • VIRT 進程使用的虛擬內存
  • RES 進程使用的物理內存(不包括共享內存)
  • SHR 進程使用的共享內存
  • CPU 進程使用的CPU占比
  • MEM 進程使用的內存占比
  • TIME 進程啟動后到現在所用的全部CPU時間
  • COMMAND 進程的啟動命令(默認只顯示二進制,top -c能夠顯示命令行和啟動參數)

計算原理

在介紹top命令的各項指標計算原理之前,有必要先介紹下Linux下的proc文件系統,因為top命令的各項數據來源于proc文件系統。proc文件系統是一個虛擬的文件系統,是Linux內核和用戶的一種通信方式,Linux內核會通過proc文件系統告訴用戶現在內核的狀態信息,用戶也可以通過寫proc的方式設置內核的一些行為。與普通文件不同的是,這些proc文件是動態創建的,也是動態修改的,因為內核的狀態時刻都在變化。

top顯示的CPU指標都是來源于/proc/stat文件信息:

# cat /proc/stat 
cpu 1151829380 20277 540128095 1909004524 21051740 0 10957596 0 0 0
cpu0 143829475 3918 67658924 235696976 5168514 0 1475030 0 0 0
cpu1 144407338 1966 67616825 236756510 3969110 0 1392212 0 0 0
cpu2 144531920 2287 67567520 238021699 2713175 0 1363460 0 0 0
cpu3 143288938 2366 67474485 239715220 2223739 0 1356698 0 0 0
cpu4 143975390 3159 67394206 239494900 1948424 0 1343261 0 0 0
cpu5 144130685 2212 67538520 239431294 1780756 0 1349882 0 0 0
cpu6 144009592 2175 67536945 239683876 1668203 0 1340087 0 0 0
cpu7 143656038 2193 67340668 240204045 1579816 0 1336963 0 0 0

第一行代表的總的CPU信息,后面的是一個CPU的詳細信息。

但是這些具體的后面的列都是什么信息呢,我們可以通過man proc找到答案:

user  (1) Time spent in user mode.

nice  (2) Time spent in user mode with low priority (nice).

system (3) Time spent in system mode.

idle  (4) Time spent in the idle task. This value should be USER_HZ times the second entry in the
      /proc/uptime pseudo-file.
iowait (since Linux 2.5.41)

     (5) Time waiting for I/O to complete.

irq (since Linux 2.6.0-test4)
     (6) Time servicing interrupts.

softirq (since Linux 2.6.0-test4)
     (7) Time servicing softirqs.

steal (since Linux 2.6.11)
     (8) Stolen time, which is the time spent in other operating systems when running in a virtual‐
         ized environment

guest (since Linux 2.6.24)
     (9) Time spent running a virtual CPU for guest operating systems under the control of the Linux kernel.

guest_nice (since Linux 2.6.33)
      (10) Time spent running a niced guest (virtual CPU for guest operating systems under the con‐
         trol of the Linux kernel).

也就是說從第二列開始往后分別是user,nice,system,idle,iowait,irq(硬中斷),softirq(軟中斷),steal,guest,guest_nice的CPU時間,單位通常是10ms。那么top里面的比例又是怎么算出的呢?

由于CPU時間是一個累加值,所以我們要求一個時間段差值來反映當前的CPU情況,top默認是3s。例如現在取一個user值user1,和當前的一個總量的CPU時間total1

其中total等于上面各項相加,也就是total=user+nice+system+idle+iowait+irq+softirq+steal+guest+guest_nice。3秒后再去一個user值user2和一個總量total2。

那么這3秒鐘的user平均cpu占比就等于((user2-user1)/ (total2-total1))/ 3 * 100%。另外每個具體的CPU計算方式同理。

top內存相關的指標直接讀取/proc/meminfo文件的對應字段:

# cat /proc/meminfo 
MemTotal:    32781216 kB
MemFree:     1043556 kB
MemAvailable:  25108920 kB
Buffers:     427516 kB
Cached:     22084612 kB
SwapCached:      0 kB
Active:     18640888 kB
Inactive:    10534920 kB
Active(anon):  6664480 kB
Inactive(anon):   412 kB
Active(file):  11976408 kB
Inactive(file): 10534508 kB
Unevictable:      4 kB
Mlocked:        4 kB
SwapTotal:       0 kB
SwapFree:       0 kB
Dirty:       1092 kB
Writeback:       0 kB
AnonPages:    6663764 kB
Mapped:      347808 kB
Shmem:       1212 kB
Slab:      2201292 kB
SReclaimable:  1957344 kB
SUnreclaim:    243948 kB
KernelStack:    73392 kB
PageTables:    57300 kB
NFS_Unstable:     0 kB
Bounce:        0 kB
WritebackTmp:     0 kB
CommitLimit:  16390608 kB
Committed_AS:  42170784 kB
VmallocTotal:  34359738367 kB
VmallocUsed:    61924 kB
VmallocChunk:  34359625048 kB
HardwareCorrupted:   0 kB
AnonHugePages:  364544 kB
HugePages_Total:    0
HugePages_Free:    0
HugePages_Rsvd:    0
HugePages_Surp:    0
Hugepagesize:    2048 kB
DirectMap4k:   376680 kB
DirectMap2M:  26886144 kB
DirectMap1G:   8388608 kB

其中total對應于MemTotal,free 對應于MemFree,avail 對應于MemAailable。

總結

文章從top命令的輸出結果開始,說明哪些指標的異常值需要我們關注,最后介紹了top命令的cpu計算原理和mem的數據來源。

好了,以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。

標簽:淮北 西寧 怒江 西藏 濰坊 攀枝花 東營 香港

巨人網絡通訊聲明:本文標題《Linux中top命令輸出詳解》,本文關鍵詞  Linux,中,top,命令,輸出,詳解,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Linux中top命令輸出詳解》相關的同類信息!
  • 本頁收集關于Linux中top命令輸出詳解的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    顶级嫩模精品视频在线看| 欧美视频一区二区| 日本欧美一区二区在线观看| 精品国产精品网麻豆系列| av在线一区二区三区| 国内精品久久久久影院色 | 精一区二区三区| 一级特黄大欧美久久久| 欧美国产精品v| 精品国产a毛片| 欧美人伦禁忌dvd放荡欲情| 日本久久电影网| 国产福利一区二区三区视频| 免费成人在线播放| 日韩国产欧美三级| 日韩精品亚洲一区二区三区免费| 综合久久国产九一剧情麻豆| 中文字幕不卡一区| 国产精品五月天| 国产精品女同互慰在线看| 国产精品毛片大码女人 | 午夜精品福利一区二区蜜股av| 亚洲欧洲日韩在线| 日韩毛片一二三区| 国产精品夫妻自拍| 亚洲靠逼com| 一级中文字幕一区二区| 一区二区三区精品在线观看| 亚洲激情图片小说视频| 亚洲免费看黄网站| 亚洲电影第三页| 午夜国产不卡在线观看视频| 日韩不卡一二三区| 国内精品免费**视频| 国产成a人无v码亚洲福利| 99久久精品99国产精品| 色av一区二区| 日韩欧美高清一区| 国产精品久久精品日日| 亚洲激情第一区| 日韩精品乱码免费| 国产精品一区二区三区乱码| 91啪亚洲精品| 欧美区在线观看| 久久蜜桃一区二区| 亚洲毛片av在线| 人人超碰91尤物精品国产| 激情小说亚洲一区| 97se狠狠狠综合亚洲狠狠| 欧美精品国产精品| 国产午夜精品一区二区三区视频| 亚洲欧美韩国综合色| 日韩av中文字幕一区二区| 国产精品一区二区三区乱码| 在线观看国产91| 久久精品视频一区二区三区| 亚洲高清三级视频| 国产成人av影院| 欧美喷水一区二区| 中文字幕五月欧美| 久久99在线观看| 91久久精品一区二区三| 久久精品视频免费| 日本一道高清亚洲日美韩| 国产成人高清在线| 日韩一级成人av| 亚洲男人天堂一区| 国产福利精品一区二区| 欧美日韩日日骚| 中文字幕在线观看不卡| 老司机精品视频在线| 欧美色中文字幕| 亚洲欧美另类图片小说| 国产一区不卡在线| 欧美xxxxx牲另类人与| 亚洲成a人片在线不卡一二三区 | 欧美日韩成人一区| 国产精品二三区| 国产成人av在线影院| 日韩欧美视频一区| 男人的天堂久久精品| 91久久精品国产91性色tv| 国产精品灌醉下药二区| 国产一区二区看久久| 日韩精品一区二区三区四区| 午夜av一区二区| 欧美精品丝袜中出| 亚洲成av人片在线观看无码| 99精品偷自拍| 亚洲欧美电影院| 91视视频在线观看入口直接观看www | 久久久久88色偷偷免费| 日韩成人精品在线| 欧美日韩1234| 天天综合色天天| 欧美日本视频在线| 亚洲aaa精品| 欧美日韩国产高清一区二区三区| 亚洲三级免费电影| 一本色道久久综合亚洲aⅴ蜜桃 | 美女视频一区在线观看| 欧美中文一区二区三区| 亚洲综合av网| 欧美激情在线免费观看| 麻豆精品在线视频| 久久久五月婷婷| 成人午夜av影视| 亚洲黄色av一区| 在线播放中文字幕一区| 精品中文字幕一区二区小辣椒| 欧美精品第1页| 久久91精品国产91久久小草| 久久影院电视剧免费观看| 国产91精品久久久久久久网曝门| 国产精品第五页| 欧美午夜不卡在线观看免费| 日本三级亚洲精品| 久久亚洲精华国产精华液 | 亚洲综合在线电影| 欧美日韩一区二区三区高清| 香蕉成人啪国产精品视频综合网 | 日韩视频在线你懂得| 国产做a爰片久久毛片| 国产精品久久久久aaaa樱花 | 久久91精品国产91久久小草| 国产三级一区二区| 色欧美片视频在线观看在线视频| 亚洲一区二区三区美女| 日韩欧美123| 色屁屁一区二区| 国内精品久久久久影院薰衣草| 自拍视频在线观看一区二区| 欧美人狂配大交3d怪物一区| 久久久久9999亚洲精品| 91美女在线视频| 久久99热狠狠色一区二区| 怡红院av一区二区三区| 26uuu亚洲综合色欧美| 欧美视频中文字幕| 成人性生交大片免费看中文网站 | 国产精品一区二区久久不卡| 亚洲一区视频在线| 久久精品欧美日韩精品| 欧美另类z0zxhd电影| 成人黄色大片在线观看| 久久精品国产99| 亚洲1区2区3区4区| 亚洲女与黑人做爰| 国产精品人妖ts系列视频| 日韩免费看的电影| 欧美日韩国产精品自在自线| 波多野结衣亚洲一区| 久草这里只有精品视频| 视频在线在亚洲| 亚洲精品国产a久久久久久| 国产日韩欧美不卡在线| 欧美xxxxxxxxx| 日韩视频一区二区三区| 一本色道亚洲精品aⅴ| 国产成人在线视频网站| 精品系列免费在线观看| 天堂成人国产精品一区| 亚洲无人区一区| 1000精品久久久久久久久| 精品福利一二区| 日韩午夜三级在线| 欧美美女bb生活片| 欧美日韩三级在线| 欧美日韩国产精品成人| 欧美色图激情小说| 欧美日韩中字一区| 欧美又粗又大又爽| 欧美亚洲丝袜传媒另类| 欧美视频日韩视频在线观看| 在线精品亚洲一区二区不卡| 在线一区二区三区| 欧美日韩亚州综合| 8x福利精品第一导航| 91精品国产综合久久蜜臀| 日韩亚洲欧美高清| 久久久久国产免费免费| 欧美激情在线一区二区三区| 国产精品欧美经典| 一区二区三区四区五区视频在线观看| 中文字幕综合网| 亚洲午夜激情网站| 另类调教123区| 成人午夜av在线| 在线观看一区日韩| 在线成人免费视频| 精品国产乱码久久久久久夜甘婷婷 | 日韩成人午夜电影| 精品一区二区三区久久久| 国产麻豆精品在线| 成人午夜电影久久影院| 久久天天做天天爱综合色| 日本一区二区三区在线观看| 亚洲三级免费电影| 亚洲成人自拍一区| 精久久久久久久久久久|