1. 程式人生 > >Linux系統監控--監控磁碟

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 -d 1 1秒鐘重新整理一次
  • iostat -d 1 5 1秒重新整理一次,顯示5次。

iotop命令

  • iotop也是監控磁碟的命令,需要先安裝,
[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部分,

  • procs 顯示程序的相關資訊

  • r(run):表示執行或等待CPU時間片的程序數。該數值如果長期大於CPU核數就意味著CPU不夠用了。

  • b(block):表示等待資源的程序數,這裡的資源指的是I/O、記憶體等。比如說有個資料CPU很快處理完了,但是硬碟在頻繁的讀寫當中,該資料等待寫入硬碟時,這個程序就是b的狀態。該資料長時間大於1就需要找找問題了。

  • memory 顯示記憶體的相關資訊

  • swpd:表示切換到交換分割槽中的記憶體數量,單位為KB。

  • free:表示當前空閒的記憶體大小。單位KB

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

  • cache:表示(從磁碟中讀取的)快取大小,單位KB

  • 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