1. 程式人生 > >2018-1-22 7周1次課 w,top,sar,nload,vmstat

2018-1-22 7周1次課 w,top,sar,nload,vmstat

pan 情況 itl 占用 img 打開 網卡 過濾 nice

10.1 使用w查看系統負載

技術分享圖片技術分享圖片

·w命令查看系統負載:

[root@localhost ~]# w
21:07:03 up  3:33,  1 user,  load average: 0.00, 0.01, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU  WHAT
root       pts/0    192.168.65.1       21:05       7.00s  0.06s    0.03s     w

load average: 0.00, 0.01, 0.05表示:1分鐘,5分鐘,15分鐘時間段內,系統的負載。

單位時間段內,使用CPU的進程有多少個

有多少邏輯CPU,可以在cpuinfo中查看,processor參數,0表示有cpu1個,1為兩個,以此類推

技術分享圖片技術分享圖片

當CPU為一個時,第一個數字1為最理想;CPU為8個時,第一個數字為8最理想,此時processor為7

每一個CPU都有一個進程占用,是理想狀態,不忙也不閑,高於這個數字就表示要排隊了,比較忙。

一般情況下,最關註的第一個數字。


·uptime也可以顯示系統負載:

[root@localhost ~]# uptime
21:23:13 up  3:49,  1 user,  load average: 0.00, 0.01, 0.05

(uptime比w較精簡,一般使用w命令即可)





10.2 vmstat命令


CPU不夠用的話,要考慮什麽原因導致CPU不夠用,進程都在幹什麽,有哪些任務在使用CPU?

需要進一步查看系統信息

vmstat可以看到CPU,內存,虛擬磁盤,交換分區,磁盤,系統進程等信息

[root@localhost ~]# vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
2  0      0 723736   2076 152120    0    0     8     1   46   46  0  0 100  0  0


vmstat使用方法:

vmstat 時間(s) 表示按單位時間顯示一次 Ctrl + C結束

[root@localhost ~]# vmstat 1
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r  b   swpd   free      buff    cache   si   so    bi    bo   in   cs us sy  id  wa st
2  0      0 723736   2076 152152    0    0     8     1   46   46  0  0 100  0  0
0  0      0 723720   2076 152152    0    0     0     0   47   41  0  1   99  0  0
0  0      0 723720   2076 152152    0    0     0     0   60   62  0  0 100  0  0
0  0      0 723720   2076 152152    0    0     0     0   43   36  0  0 100  0  0
0  0      0 723720   2076 152152    0    0     0     0   43   37  0  0 100  0  0
0  0      0 723720   2076 152152    0    0     0     0   43   36  0  0 100  0  0
0  0      0 723720   2076 152152    0    0     0     0   42   39  0  0 100  0  0
0  0      0 723720   2076 152152    0    0     0     0   49   46  0  0 100  0  0
0  0      0 723720   2076 152152    0    0     0     0   46   41  0  0 100  0  0
^C

vmstat 時間(s) 次數 表示按單位時間顯示一次,只顯示幾次


[root@localhost ~]# vmstat 1 5##每秒顯示1次,共顯示5次
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r  b   swpd   free        buff     cache     si   so    bi    bo   in   cs us sy  id  wa st
2  0      0     723736   2076 152152    0    0     8     1    46   46  0  0 100  0  0
0  0      0     723720   2076 152152    0    0     0     0    45   41  0  0 100  0  0
0  0      0     723720   2076 152152    0    0     0     0    59   53  0  0 100  0  0
0  0      0     723720   2076 152152    0    0     0     0    37   32  0  0 100  0  0
0  0      0     723720   2076 152152    0    0     0     0    46   41  0  0 100  0  0


★★★需要重點關註:r,b,swpd,si,so,bi ,bo,us,wa

r:run 表示有多少進程處於run的狀態(無論是在使用CPU中,還是在排隊中,都是r狀態)

b:block 表示有多少進程在等待(進程被CPU以外的,比如硬盤、網絡阻斷,處於等待狀態)

swpd: 數字不斷變化,交換分區和內存頻繁交換數據,內存不夠了

si: 有多少kb數據從swap進入到內存中(和swap有關)

so: 有多少kb數據從內存出來到swap中(和swap有關)

bi: 從磁盤裏進入到內存裏去,讀的數據量(和磁盤有關)

bo: 從磁盤裏進入到內存裏去,寫的數據量(和磁盤有關)

us: 用戶態的資源占用CPU的百分比(數字長時間大於50,表示資源不夠, us+sy+id=100

sy:系統占用,id:空閑

wa: wait 等待CPU的進程占百分比





10.3 top命令


·top命令:

3秒顯示一次,動態顯示占用最高的進程

[root@localhost ~]# top

技術分享圖片技術分享圖片

僵屍進程:主進程終止了,子進程還保留著


us長時間在60%以上會影響CPU使用壽命。

系統負載值可能很高,而us可能很低。

大部分情況下,us百分比很高,系統負載肯定很高。

RES 物理內存大小 單位KB


默認情況下,會按照CPU的百分比去從高到低排列。

如果想要按使用內存占比排列,那麽按M就可以切換到內存排列,按P切換回CPU排列

技術分享圖片技術分享圖片


·按數字1,可以查看所有CPU的使用情況

技術分享圖片技術分享圖片


·按q鍵可以退出top命令。


·查看具體的命令,全局路徑

技術分享圖片技術分享圖片


·靜態顯示進程信息

適合在寫腳本時使用

[root@localhost ~]# top bn1

技術分享圖片技術分享圖片

(只截取部分截圖)


·殺死進程:kill + 進程的PID





10.4 sar命令

技術分享圖片技術分享圖片


·全面分析系統狀態的命令:sar

·安裝sar命令:yum install -y sysstat

完成安裝後,運行sar命令會出現以下錯誤信息

[root@localhost ~]# sar
無法打開 /var/log/sa/sa13: 沒有那個文件或目錄

sar命令如果不加具體選項,默認會去調用系統中保存在/var/log/sa中的歷史文件

sar每十分鐘會把系統狀態過濾一遍,保存在/var/log/sa目錄下,因此,安裝完成後需要等待十分鐘後,才能不加參數使用


·查看網卡流量:sar -n DEV 時間 次數

[root@localhost ~]# sar -n DEV 1 5     (每隔一秒查看一次,共查看5次)
Linux 3.10.0-693.el7.x86_64 (localhost.localdomain) 2018年01月13日 _x86_64_(1 CPU)

22時05分15秒     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
22時05分16秒        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
22時05分16秒     ens33      1.00      1.00      0.06      0.18      0.00      0.00      0.00

22時05分16秒     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
22時05分17秒        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
22時05分17秒     ens33      2.02      2.02      0.12      0.45      0.00      0.00      0.00

22時05分17秒     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
22時05分18秒        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
22時05分18秒     ens33      1.01      1.01      0.06      0.39      0.00      0.00      0.00

22時05分18秒     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
22時05分19秒        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
22時05分19秒     ens33      1.00      1.00      0.06      0.38      0.00      0.00      0.00

22時05分19秒     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
22時05分20秒        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
22時05分20秒     ens33      1.00      1.00      0.06      0.38      0.00      0.00      0.00

平均時間:     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
平均時間:        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
平均時間:     ens33      1.20      1.20      0.07      0.36      0.00      0.00      0.00

rxpck/s:接收到的數據包 數值為幾千,比較正常,上萬就不太正常了

txpck/s:發送出去的數據包

rxkB/s:接收的數據量

txkB/s:發送出去的數據量

rxcmp/s:txcmp/s:rxmcst/s不重要


[root@localhost ~]# sar
Linux 3.10.0-693.el7.x86_64 (localhost.localdomain) 2018年01月13日 _x86_64_(1 CPU)

22時00分01秒     CPU     %user     %nice   %system   %iowait    %steal     %idle
22時10分01秒     all      0.07      0.00      0.16      0.01      0.00     99.76
平均時間:     all      0.07      0.00      0.16      0.01      0.00     99.76
[root@localhost ~]# ls /var/log/sa/
sa13                      ##日期為幾號,就是sa多少,13號就是sa13,17號就是sa17


·查看歷史數據

[root@localhost ~]# sar -n DEV -f /var/log/sa/sa13
Linux 3.10.0-693.el7.x86_64 (localhost.localdomain) 2018年01月13日 _x86_64_(1 CPU)
22時00分01秒     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
22時10分01秒        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
22時10分01秒     ens33      0.13      0.10      0.01      0.01      0.00      0.00      0.00
22時20分01秒        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
22時20分01秒     ens33      0.15      0.11      0.01      0.01      0.00      0.00      0.00
平均時間:        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
平均時間:     ens33      0.14      0.10      0.01      0.01      0.00      0.00      0.00

(/var/log/sa 目錄下數據最多保留1個月)


·查看系統負載

[root@localhost ~]# sar -q 1 5
Linux 3.10.0-693.el7.x86_64 (localhost.localdomain) 2018年01月13日 _x86_64_(1 CPU)

22時22分47秒   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15   blocked
22時22分48秒         1       111      0.05      0.03      0.05         0
22時22分49秒         0       111      0.05      0.03      0.05         0
22時22分50秒         1       111      0.04      0.03      0.05         0
22時22分51秒         1       111      0.04      0.03      0.05         0
22時22分52秒         1       111      0.04      0.03      0.05         0
平均時間:         1       111      0.04      0.03      0.05         0
[root@localhost ~]# sar -q                             ##默認查看當天數值
Linux 3.10.0-693.el7.x86_64 (localhost.localdomain) 2018年01月13日 _x86_64_(1 CPU)

22時00分01秒   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15   blocked
22時10分01秒         1       111      0.00      0.01      0.05         0
22時20分01秒         1       111      0.00      0.01      0.05         0
平均時間:         1       111      0.00      0.01      0.05         0
[root@localhost ~]# sar -q -f /var/log/sa/sa13         ##查看歷史負載值
Linux 3.10.0-693.el7.x86_64 (localhost.localdomain) 2018年01月13日 _x86_64_(1 CPU)

22時00分01秒   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15   blocked
22時10分01秒         1       111      0.00      0.01      0.05         0
22時20分01秒         1       111      0.00      0.01      0.05         0
平均時間:         1       111      0.00      0.01      0.05         0

·查看磁盤:

[root@localhost ~]# sar -b 1 5
Linux 3.10.0-693.el7.x86_64 (localhost.localdomain) 2018年01月13日 _x86_64_(1 CPU)
22時26分11秒       tps      rtps      wtps   bread/s   bwrtn/s
22時26分12秒      0.00      0.00      0.00      0.00      0.00
22時26分13秒      0.00      0.00      0.00      0.00      0.00
22時26分14秒      0.00      0.00      0.00      0.00      0.00
22時26分15秒      0.00      0.00      0.00      0.00      0.00
22時26分16秒      0.00      0.00      0.00      0.00      0.00
平均時間:      0.00      0.00      0.00      0.00      0.00


·/var/log/sa/下不僅會生成sa日期文件,還會生成sar日期文件

sa日期是二進制文件,只能sar命令去查看,無法cat;而sar日期文件是可以cat的





10.5 nload命令


安裝nload:[root@localhost ~]# yum install -y nload


運行nload命令:

技術分享圖片技術分享圖片

按右方向鍵,可以切換到另外一個網卡

技術分享圖片技術分享圖片

實際運行圖

技術分享圖片技術分享圖片


2018-1-22 7周1次課 w,top,sar,nload,vmstat