Linux系統監控--監控磁盤

iostat 命令、

  • iostat命令是監控磁盤的命令,默認是沒有安裝的,須要先安裝
[root@localhost ~]# yum install -y sysstat
[root@localhost ~]# iostat
Linux 3.10.0-957.el7.x86_64 (localhost.localdomain) 	02/28/2019 	_x86_64_	(4 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.75    0.00    1.92    0.72    0.00   96.60

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda               8.23       317.90        16.60     301670      15755
dm-0              6.08       283.81        14.42     269326      13687
dm-1              0.09         2.59         0.00       2460          0
  • iostat 1 1秒刷新一次,會顯示CPU使用狀況
  • iostat -d 1 1秒鐘刷新一次,只顯示跟硬盤有關的信息。
  • iostat -d 1 5 1秒刷新一次,顯示5次。
  • iostat -dx 1 5 1秒刷新一次,顯示5次,顯示的內容要比上一條命令更全一些,會有磁盤的使用率等信息。
[root@localhost ~]# iostat 1 2
Linux 3.10.0-957.el7.x86_64 (localhost.localdomain) 	02/28/2019 	_x86_64_	(4 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.20    0.00    0.55    0.19    0.00   99.06

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda               2.49        82.95         8.67     307486      32146
dm-0              1.99        74.22         8.11     275142      30058
dm-1              0.02         0.66         0.00       2460          0

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.00    0.00    0.25    0.00    0.00   99.75

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda               0.00         0.00         0.00          0          0
dm-0              0.00         0.00         0.00          0          0
dm-1              0.00         0.00         0.00          0          0

[root@localhost ~]# iostat -d 1 2
Linux 3.10.0-957.el7.x86_64 (localhost.localdomain) 	02/28/2019 	_x86_64_	(4 CPU)

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda               2.49        82.79         8.66     307486      32162
dm-0              1.99        74.08         8.10     275142      30074
dm-1              0.02         0.66         0.00       2460          0

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda               0.00         0.00         0.00          0          0
dm-0              0.00         0.00         0.00          0          0
dm-1              0.00         0.00         0.00          0          0

[root@localhost ~]# iostat -dx 1 2
Linux 3.10.0-957.el7.x86_64 (localhost.localdomain) 	02/28/2019 	_x86_64_	(4 CPU)

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0.00     0.09    2.03    0.45    82.67     8.66    73.47     0.05   21.64   12.42   62.86   4.51   1.12

iotop命令

  • iotop也是監控磁盤的命令,與top命令有點像,須要先安裝,
[root@localhost ~]# yum install iotop -y
  • 該命令顯示的內容是動態顯示的,按IO使用率排序。

vmstat命令

vmstat 監控系統狀態

[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
 1  0      0 3565444    692  99364    0    0    22     2   23   27  0  0 99  0  0

使用w命令查看的是系統總體上的負載,沒法判斷具體是哪些硬件負載壓力過大,這就用到了vmstat命令,vmstat顯示的內容一共分爲6部分,ios

  • procs 顯示進程的相關信息緩存

  • r(run):表示運行或等待CPU時間片的進程數。該數值若是長期大於CPU核數就意味着CPU不夠用了。網絡

  • b(block):表示等待資源的進程數,這裏的資源指的是I/O、內存等。好比說有個數據CPU很快處理完了,可是硬盤在頻繁的讀寫當中,該數據等待寫入硬盤時,這個進程就是b的狀態。該數據長時間大於1就須要找找問題了。dom

  • memory 顯示內存的相關信息ssh

  • swpd:表示切換到交換分區中的內存數量,單位爲KB。socket

  • free:表示當前空閒的內存大小。單位KBtcp

  • fuff:表示(即將寫入磁盤的)緩衝大小,單位KBcode

  • cache:表示(從磁盤中讀取的)緩存大小,單位KBserver

  • swap 顯示內存的交換狀況排序

  • si:表示由交換分區寫內存的數據量,單位KB

  • so:表示由內存寫入交換分區的數據量,

  • io顯示磁盤的使用狀況

  • bi:表示從塊設備讀取數據的量(讀磁盤)

  • bo:表示從塊設備寫入數據的量(寫磁盤)

  • system顯示採集間隔內發生的中斷次數

  • in:表示在某一時間間隔內觀測到的每秒設備的中斷次數

  • cs:表示每秒產生的上下文切換次數

  • cpu顯示CPU的使用狀態

  • us:顯示用戶下所花費CPU的時間百分比

  • sy:顯示系統花費CPU的時間百分比

  • id:表示CPU處於空閒狀態的時間百分比

  • wa:表示I/O等待所佔用的CPU時間百分比

  • st:表示被偷走的CPU所佔的百分比(通常爲0,不用關注)

  • vmstat 2 10意思是每兩秒輸出一次狀態,輸出10次。

監控網卡流量

  • netstat 列出端口信息
  • netstat -lnp 列出系統監聽端口
  • netstat -an 查看系統的網絡鏈接情況
  • netstat -lntp 列出監聽端口,只看tcp的,不包括socket
  • ss -an 跟netstat -an 做用同樣
[root@localhost ~]# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      2342/master         
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1340/sshd           
tcp6       0      0 ::1:25                  :::*                    LISTEN      2342/master         
tcp6       0      0 :::22                   :::*                    LISTEN      1340/sshd
相關文章
相關標籤/搜索