Linux核心系統管理命令

3.1 lsof:查看進程打開的文件

3.1.1 命令詳解

功能說明:

lsof全名爲list open files,也就是列舉系統中已經被打開的文件,通過lsof命令,就可以根據文件找到對應的進程信息,也可以根據進程信息找到進程打開的文件

選項說明:

參數選項解釋說明
-c <進程名>顯示指定的進程名所打開的文件
-p <進程號>顯示指定的進程號所打開的文件
-i通過監聽指定的協議,端口和主機等信息,顯示符合條件的進程信息
-u顯示指定用戶使用的文件
-U顯示所有socket文件

3.1.2 使用範例

(1)顯示使用文件的進程

[root@Mr_chen ~]# lsof /var/log/messages    #顯示使用文件的進程
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF   NODE NAME
rsyslogd 870 root    w   REG  253,0   501224 262654 /var/log/messages

如果想知道某個特定的文件是由哪個進程在使用,就可以通過“lsof 文件名”的方式來得到。從上面的輸出可以得知,/var/log/messages文件是由rsyslogd進程在使用。
輸出中每列的含義具體如下:

  • [x] COMMAND:命令,進程的名稱。
  • [x] PID:進程號。
  • [x] USER:進程的所有者。
  • [x] FD:文件描述符,它又包含如下內容
  • 0:表示標準輸出。
  • 1:表示標準輸入。
  • 2:表示標準錯誤。
  • u:表示該文件被打開並處於讀取/寫入模式
  • r:表示該文件被打開並處於只讀模式
  • w:表示該文件被打開並處於寫入模式
  • [x] TYPE:文件類型,REG(regular)爲普通文件
  • [x] DEVICE:指定磁盤的名稱。
  • [x] SIZE/OFF:文件的大小
  • [x] NODE:索引節點
  • [x] NAME:文件名稱

(2)顯示指定進程所打開的文件

[root@Mr_chen ~]# lsof -c rsyslog   #使用-c選項顯示指定進程所打開的文件
COMMAND  PID USER   FD   TYPE             DEVICE SIZE/OFF       NODE NAME
rsyslogd 870 root  cwd    DIR              253,0     4096          2 /
rsyslogd 870 root  rtd    DIR              253,0     4096          2 /
rsyslogd 870 root  txt    REG              253,0   396064     130951 /sbin/rsyslogd
rsyslogd 870 root  mem    REG              253,0    27232     393534 /lib64/rsyslog/imklog.so
rsyslogd 870 root  mem    REG              253,0   340568     393540 /lib64/rsyslog/imuxsock.so
rsyslogd 870 root  mem    REG              253,0    65928     392495 /lib64/libnss_files-2.12.so
rsyslogd 870 root  mem    REG              253,0    26984     393541 /lib64/rsyslog/lmnet.so
rsyslogd 870 root  mem    REG              253,0  1921216     392479 /lib64/libc-2.12.so
rsyslogd 870 root  mem    REG              253,0    90880     392452 /lib64/libgcc_s-4.4.7-20120601.so.1
rsyslogd 870 root  mem    REG              253,0    43832     392507 /lib64/librt-2.12.so
rsyslogd 870 root  mem    REG              253,0    19536     392485 /lib64/libdl-2.12.so
rsyslogd 870 root  mem    REG              253,0   142640     392503 /lib64/libpthread-2.12.so
rsyslogd 870 root  mem    REG              253,0    88600     392529 /lib64/libz.so.1.2.3
rsyslogd 870 root  mem    REG              253,0   154520     392472 /lib64/ld-2.12.so
rsyslogd 870 root    0u  unix 0xffff880037d8b6c0      0t0       8910 /dev/log
rsyslogd 870 root    1w   REG              253,0   501224     262654 /var/log/messages
rsyslogd 870 root    2w   REG              253,0     5164     262655 /var/log/secure
rsyslogd 870 root    3r   REG                0,3        0 4026532040 /proc/kmsg
rsyslogd 870 root    4w   REG              253,0    18512     262652 /var/log/cron

(3)顯示指定進程號說打開的文件

[root@Mr_chen ~]# lsof -p 870   #使用-p選項顯示指定進程號所打開的文件
COMMAND  PID USER   FD   TYPE             DEVICE SIZE/OFF       NODE NAME
rsyslogd 870 root  cwd    DIR              253,0     4096          2 /
rsyslogd 870 root  rtd    DIR              253,0     4096          2 /
rsyslogd 870 root  txt    REG              253,0   396064     130951 /sbin/rsyslogd
rsyslogd 870 root  mem    REG              253,0    27232     393534 /lib64/rsyslog/imklog.so
rsyslogd 870 root  mem    REG              253,0   340568     393540 /lib64/rsyslog/imuxsock.so
rsyslogd 870 root  mem    REG              253,0    65928     392495 /lib64/libnss_files-2.12.so
rsyslogd 870 root  mem    REG              253,0    26984     393541 /lib64/rsyslog/lmnet.so
rsyslogd 870 root  mem    REG              253,0  1921216     392479 /lib64/libc-2.12.so
rsyslogd 870 root  mem    REG              253,0    90880     392452 /lib64/libgcc_s-4.4.7-20120601.so.1
rsyslogd 870 root  mem    REG              253,0    43832     392507 /lib64/librt-2.12.so
rsyslogd 870 root  mem    REG              253,0    19536     392485 /lib64/libdl-2.12.so
rsyslogd 870 root  mem    REG              253,0   142640     392503 /lib64/libpthread-2.12.so
rsyslogd 870 root  mem    REG              253,0    88600     392529 /lib64/libz.so.1.2.3
rsyslogd 870 root  mem    REG              253,0   154520     392472 /lib64/ld-2.12.so
rsyslogd 870 root    0u  unix 0xffff880037d8b6c0      0t0       8910 /dev/log
rsyslogd 870 root    1w   REG              253,0   501224     262654 /var/log/messages
rsyslogd 870 root    2w   REG              253,0     5164     262655 /var/log/secure
rsyslogd 870 root    3r   REG                0,3        0 4026532040 /proc/kmsg
rsyslogd 870 root    4w   REG              253,0    18512     262652 /var/log/cron

(4)監聽指定的協議,端口和主機等信息,顯示符合條件的進程信息

在講解範例之前,我們先來看看相應語法格式:
lsof -i [46] [protocol] [@hostname] [:service|port]
其中各項的含義如下:

  • [x] 46:4代表IPv4,6代表IPv6
  • [x] protocol:傳輸協議,可以是TCP或UDP
  • [x] hostname:主機名稱或者IP地址
  • [x] service:進程的服務名,例如NFS,SSH和FTP等
  • [x] port:系統中與服務對應的端口號。例如HTTP服務默認對應的端口號爲80,SSH服務默認對應的端口號爲22.
[root@Mr_chen ~]# lsof -i   #查看所有進程
COMMAND PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
sshd    885 root    3u  IPv4   8948      0t0  TCP *:ssh (LISTEN)
sshd    885 root    4u  IPv6   8950      0t0  TCP *:ssh (LISTEN)
sshd    918 root    3r  IPv4   9075      0t0  TCP localhost:ssh->localhost:54216 (ESTABLISHED)
[root@Mr_chen ~]# lsof -i tcp   #顯示所有tcp網絡連接的進程信息
COMMAND PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
sshd    885 root    3u  IPv4   8948      0t0  TCP *:ssh (LISTEN)
sshd    885 root    4u  IPv6   8950      0t0  TCP *:ssh (LISTEN)
sshd    918 root    3r  IPv4   9075      0t0  TCP localhost:ssh->localhost:54216 (ESTABLISHED)
[root@Mr_chen ~]# lsof -i:22    #顯示端口爲22的進程,這條命令很常用
COMMAND PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
sshd    885 root    3u  IPv4   8948      0t0  TCP *:ssh (LISTEN)
sshd    885 root    4u  IPv6   8950      0t0  TCP *:ssh (LISTEN)
sshd    918 root    3r  IPv4   9075      0t0  TCP localhost:ssh->localhost:54216 (ESTABLISHED)
[root@Mr_chen ~]# lsof -i tcp:22    #顯示同時滿足TCP和端口爲22的進程
COMMAND PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
sshd    885 root    3u  IPv4   8948      0t0  TCP *:ssh (LISTEN)
sshd    885 root    4u  IPv6   8950      0t0  TCP *:ssh (LISTEN)
sshd    918 root    3r  IPv4   9075      0t0  TCP localhost:ssh->localhost:54216 (ESTABLISHED)

(5)顯示指定用戶使用的文件

[root@Mr_chen ~]# lsof -u Mr_chen   #使用-u選項顯示Mr_chen用戶使用的文件
COMMAND  PID    USER   FD   TYPE DEVICE SIZE/OFF   NODE NAME
bash    1012 Mr_chen  cwd    DIR  253,0     4096 138686 /home/Mr_chen
bash    1012 Mr_chen  rtd    DIR  253,0     4096      2 /
bash    1012 Mr_chen  txt    REG  253,0   903336 786016 /bin/bash
bash    1012 Mr_chen  mem    REG  253,0 99158576 655748 /usr/lib/locale/locale-archive
bash    1012 Mr_chen  mem    REG  253,0    65928 392495 /lib64/libnss_files-2.12.so
bash    1012 Mr_chen  mem    REG  253,0  1921216 392479 /lib64/libc-2.12.so
bash    1012 Mr_chen  mem    REG  253,0    19536 392485 /lib64/libdl-2.12.so
bash    1012 Mr_chen  mem    REG  253,0   135896 392521 /lib64/libtinfo.so.5.7
bash    1012 Mr_chen  mem    REG  253,0   154520 392472 /lib64/ld-2.12.so
bash    1012 Mr_chen  mem    REG  253,0    26060 916570 /usr/lib64/gconv/gconv-modules.cache
bash    1012 Mr_chen    0u   CHR  136,1      0t0      4 /dev/pts/1
bash    1012 Mr_chen    1u   CHR  136,1      0t0      4 /dev/pts/1
bash    1012 Mr_chen    2u   CHR  136,1      0t0      4 /dev/pts/1
bash    1012 Mr_chen  255u   CHR  136,1      0t0      4 /dev/pts/1

(6)顯示所有socket文件

[root@Mr_chen ~]# lsof -U   #使用-U選項顯示所有socket文件
COMMAND   PID USER   FD   TYPE             DEVICE SIZE/OFF  NODE NAME
init        1 root    7u  unix 0xffff880037afa680      0t0  7510 socket
udevd     360 root    4u  unix 0xffff880037afa980      0t0  7857 socket
udevd     360 root    8u  unix 0xffff880037afac80      0t0  7873 socket
udevd     360 root    9u  unix 0xffff880037afa080      0t0  7874 socket
udevd     635 root    9u  unix 0xffff880037afa080      0t0  7874 socket
rsyslogd  870 root    0u  unix 0xffff880037d8b6c0      0t0  8910 /dev/log
crond     893 root    4u  unix 0xffff880037d8b3c0      0t0  8976 socket
sshd      918 root    4w  unix 0xffff880037d8b0c0      0t0  9125 socket
anacron   983 root    4u  unix 0xffff880037d8b9c0      0t0 10018 socket
su       1011 root    3u  unix 0xffff880037d8bcc0      0t0 10151 socket

3.2 free:查看系統內存信息

3.2.1 命令詳解

功能說明:

free命令用於顯示系統內存狀態,具體包括系統物理內存,虛擬內存,共享內存和系統緩存等。

選項說明:

參數選項解釋說明(帶@的爲重點
-b以Byte爲單位顯示內存的使用情況
-m以MB爲單位顯示內存的使用情況@
-K以KB爲單位顯示內存的使用情況
-h以人類可讀的形式顯示內存的使用情況@
-t顯示內存總和列
-s <間隔秒數>根據指定的間隔秒數持續顯示內存的使用情況@
-o不顯示系統緩衝區列

3.2.2 使用範例

(1)查看系統內存

[root@Mr_chen ~]# free  #不加參數默認顯示的是字節數,很難讀懂
             total       used       free     shared    buffers     cached
Mem:       1004412      85788     918624          0       6168      22904
-/+ buffers/cache:      56716     947696
Swap:      2031608          0    2031608
[root@Mr_chen ~]# free -m   #使用-m選項,以MB爲單位顯示內存的使用情況
             total       used       free     shared    buffers     cached
Mem:           980         83        897          0          6         22
-/+ buffers/cache:         55        925
Swap:         1983          0       1983

針對上面的輸出,有以下說明

  • [x] Linux系統的特性是將不用的物理內存緩存起來,因此897MB不是系統的真實剩餘內存。
  • [x] 系統真正可用的內存爲925MB
  • [x] buffers爲寫入數據緩衝區
  • [x] cache爲讀取數據緩存區

(2)定時查詢內存

[root@Mr_chen ~]# free -s 10    #使用-s選項定時刷新內存的使用情況,單位爲秒
             total       used       free     shared    buffers     cached
Mem:       1004412      85888     918524          0       6168      22932
-/+ buffers/cache:      56788     947624
Swap:      2031608          0    2031608

3.3 iftop:動態顯示網絡接口流量信息

3.3.1 命令詳解

功能說明:

  • iftop是一款實時流量監控工具,可用於監控TCP/IP連接等,必須以root用戶的身份運行。
  • 一般最小化安裝系統都是沒有這個命令的,需要使用yum命令額外安裝,而且還要從epel源下載。
    epel源的安裝幫助請參見:http://mirrors.aliyun.com/help/epel
    安裝iftop命令的步驟請參見:
    wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
    yum -y install iftop

選項說明:

參數選項解釋說明(帶@的爲重點
-i指定監聽的網絡接口@
-n不進行DNS解析@
-N不將端口號解析成服務名@
-B以byte爲單位顯示流量(默認是bit)@
-p設置網卡爲混雜模式,以便不直接通過指定接口傳遞的流量也能被計數
-P(大寫)顯示端口號@
-m設置界面最上邊的刻度的最大值,刻度分爲五個大段顯示
-F顯示特定網段的進出流量

3.3.2 使用範例

(1)不接任何參數啓動iftop命令監控流量。

[root@Mr_chen yum.repos.d]# iftop
interface: eth0 #默認監聽系統的第一塊網卡,可以使用-i選項指定監聽網卡
IP address is: 192.168.0.233
MAC address is: 00:0c:29:a8:ca:50

QQ截圖20180306231637.png-16.2kB

上圖爲iftop界面,相關說明如下:

  • [x] 界面上顯示的是類似刻度尺的刻度範圍,是以標尺的形式顯示流量圖形的長條
  • [x] 中間的<=或=>這兩個左右箭頭,表示的是流量的反向
  • [x] TX:發送流量
  • [x] RX:接收流量
  • [x] TOTAL:總流量
  • [x] Cum:運行iftop到目前時間的總流量
  • [x] peak:流量峯值
  • [x] rates:分別表示過去2s,10s,40s的平均流量

(2)常用命令組合

[root@Mr_chen yum.repos.d]# iftop -nNBP
interface: eth0
IP address is: 192.168.0.233
MAC address is: 00:0c:29:a8:ca:50

QQ截圖20180306231637.png-17.2kB

命令說明具體如下:

  • [x] -n:不進行DNS解析,顯示IP數字地址
  • [x] -N:顯示數字形式的端口號
  • [x] -P:顯示端口號
  • [x] -B:默認是以bit爲單位顯示流量,需要經過計算才能符合我們的認知,但是使用-B選項就會直接顯示以字節爲單位的流量。

3.4 vmstat:虛擬內存統計

3.4.1 命令詳解

功能說明:

vmstat是Virtual Memory Statistics(虛擬內存統計)的縮寫,利用vmstat命令可以對操作系統的內存信息,進程狀態和CPU活動等進行監視。但是隻能對系統的整體情況進行統計,無法對某個進程進行深入分析。

選項說明:

參數選項解釋說明(帶@的爲重點
-a顯示活躍和非活躍內存
-f顯示從系統啓動至今的fork進程數量
-m顯示slab信息
-n只在開始時顯示一次各字段名稱
-s顯示內存相關統計信息及多種系統活動數量@
-d顯示磁盤相關統計信息
-p顯示指定磁盤分區統計信息
-S使用指定單位顯示。參數有k,K,m,M,分別代表1000,1024,1000000,1048576字節(byte)。默認單位爲K(1024byte)
-t統計信息帶上時間戳

3.4.2 使用範例

(1)顯示虛擬內存的使用情況

[root@Mr_chen ~]# vmstat    #如果省略“間隔時間”和“次數”的參數,則僅顯示一次報告後就退出
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0      0 915796   8792  22900    0    0  1188    54  203  474  2  6 90  1  0
 [root@Mr_chen ~]# vmstat 5 #表示每5秒鐘更新一次輸出信息,循環輸出,按Ctrl + C組合鍵停止輸出
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0      0 915796   8792  22928    0    0   343    24   64  144  1  2 97  0  0    
[root@Mr_chen ~]# vmstat 5 6    #表示每5秒鐘更新一次輸出信息,統計6次後停止輸出
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0      0 915796   8792  22928    0    0   781    53  137  316  1  4 94  1  0    

以下是命令結果的詳解說明
第1列:procs

  • [x] r列表示運行和等待CPU時間片的進程數。
  • [x] b列表示正在等待資源的進程數。

第2列:memory

  • [x] swpd列表示使用虛擬內存的大小。
  • [x] free列表示當前空閒的物理內存數量.
  • [x] buff列表示buffers的內存數量.
  • [x] cache列表示cache的內存數量.

第3列:swap

  • [x] si(swap in)列表示由磁盤調入內存,也就是內存進入內存交換區的數量。
  • [x] so(swap out)列表示由內存調入磁盤,也就是內存交換區進入內存的數量。

第4列:I/O項顯示磁盤讀寫狀況

  • [x] bi列表示從塊設備讀入數據的總量(即讀磁盤)(塊/s)
  • [x] bo列表示寫入塊設備的數據總量(即寫磁盤))(塊/s)

第5列:system顯示採集間隔內發生的中斷數

  • [x] in列表示在某一時間間隔中觀測到的每秒設備中斷數。
  • [x] cs列表示每秒產生的上下文切換次數。

第6列:CPU項顯示了CPU的使用狀態

  • [x] us列顯示了用戶進程消耗的CPU時間百分比。
  • [x] sy列顯示了系統(內核)進程消耗的CPU時間百分比。
  • [x] id列顯示了CPU處在空閒狀態的時間百分比。
  • [x] wa列顯示了I/O等待所佔用的CPU時間百分比
  • [x] st列顯示了虛擬機佔用的CPU時間的百分比。

(2)顯示活躍和非活躍內存

[root@Mr_chen ~]# vmstat -a 2 5
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
 r  b   swpd   free  inact active   si   so    bi    bo   in   cs us sy id wa st
 0  0      0 915324  19284  18180    0    0     5     0    6    9  0  0 100  0  0   
 0  0      0 915284  19284  18180    0    0     0     0   10    9  0  0 100  0  0   
 0  0      0 915284  19284  18180    0    0     0     0   10   10  0  0 100  0  0   
 0  0      0 915284  19284  18212    0    0     0     0    9   10  0  0 100  0  0   
 0  0      0 915284  19284  18212    0    0     0     0    9   11  0  0 100  0  0   

使用-a選項顯示活躍和非活躍內存時,所顯示的內容除去增加了inact和active之外,其他顯示內容與範例11-12相同。
memory列增加了inact和active兩列,其說明具體如下。

  • [x] inact:非活躍的內存大小(當使用-a選項時顯示)
  • [x] active:活躍的內存大小(當使用-a選項時顯示)

(3)查看內存使用的詳細信息

[root@Mr_chen ~]# vmstat -s
      1004412  total memory
        89096  used memory
        18196  active memory
        19268  inactive memory
       915316  free memory
         8816  buffer memory
        23244  swap cache
      2031608  total swap
            0  used swap
      2031608  free swap
......

這些信息分別來自於/proc/meminfo,/proc/stat和/proc/vmstat

(4)查看磁盤的讀/寫

[root@Mr_chen ~]# vmstat -d
disk- ------------reads------------ ------------writes----------- -----IO------
       total merged sectors      ms  total merged sectors      ms    cur    sec
ram0       0      0       0       0      0      0       0       0      0      0
ram1       0      0       0       0      0      0       0       0      0      0
ram2       0      0       0       0      0      0       0       0      0      0
ram3       0      0       0       0      0      0       0       0      0      0
ram4       0      0       0       0      0      0       0       0      0      0
ram5       0      0       0       0      0      0       0       0      0      0
ram6       0      0       0       0      0      0       0       0      0      0
ram7       0      0       0       0      0      0       0       0      0      0
ram8       0      0       0       0      0      0       0       0      0      0
ram9       0      0       0       0      0      0       0       0      0      0
ram10      0      0       0       0      0      0       0       0      0      0
ram11      0      0       0       0      0      0       0       0      0      0
ram12      0      0       0       0      0      0       0       0      0      0
ram13      0      0       0       0      0      0       0       0      0      0
ram14      0      0       0       0      0      0       0       0      0      0
ram15      0      0       0       0      0      0       0       0      0      0
loop0      0      0       0       0      0      0       0       0      0      0
loop1      0      0       0       0      0      0       0       0      0      0
loop2      0      0       0       0      0      0       0       0      0      0
loop3      0      0       0       0      0      0       0       0      0      0
disk- ------------reads------------ ------------writes----------- -----IO------
       total merged sectors      ms  total merged sectors      ms    cur    sec
loop4      0      0       0       0      0      0       0       0      0      0
loop5      0      0       0       0      0      0       0       0      0      0
loop6      0      0       0       0      0      0       0       0      0      0
loop7      0      0       0       0      0      0       0       0      0      0
sr0       33      0     264      47      0      0       0       0      0      0
sda     2144   1571   70016     659    411    452    6898     277      0      0
dm-0    2786      0   62426    1755    854      0    6832     583      0      0
dm-1     287      0    2296      35      0      0       0       0      0      0

這些信息主要來自於/proc/diskstats。其中的merged表示一次來自於合併的寫/讀請求,系統一般會把多個連接/鄰近的讀/寫請求合併到一起來操作。

(5)查看/dev/sda1磁盤的讀寫統計信息

[root@Mr_chen ~]# vmstat -p /dev/sda1
sda1          reads   read sectors  writes    requested writes
                 431       3518          9         66

這些信息主要來自於/proc/diskstats。各列的說明具體如下

  • [x] reads:來自於該分區的讀的次數
  • [x] read sectors:來自於該分區的讀扇區的次數
  • [x] writes:來自於該分區的寫的次數
  • [x] requested writes:來自於該分區的寫請求次數。

3.5 mpstat:CPU信息統計

3.5.1 命令詳解

功能說明:

  • mpstat是Multiprocessor Statistics的縮寫,是一種實時系統監控工具。mpstat命令會輸出CPU的一些統計信息,這些信息存放在/proc/stat文件中。在多CPU的系統裏,此命令不但能用來查看所有CPU的平均狀態信息,而且還能夠用來查看特定CPU的信息。
    mpstat命令的最大特點是:可以查看多核心CPU中每個計算核心的統計數據,而類似命令vmstat只能查看系統整體的CPU情況。

選項說明:

參數選項解釋說明
-P指定CPU編號,例如:-P 0表示第一個CPU,-P 1表示第二個CPU,-P ALL表示所有CPU

3.5.2 使用範例

(1)顯示CPU信息統計

[root@Mr_chen ~]# mpstat    #如果省略“時間間隔”和“次數”參數,則僅顯示一次報告後就退出
Linux 2.6.32-431.el6.x86_64 (Mr_chen)   03/10/2018  _x86_64_    (1 CPU)

06:13:34 PM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest   %idle
06:13:34 PM  all    0.01    0.00    0.06    0.01    0.00    0.00    0.00    0.00   99.93
[root@Mr_chen ~]# mpstat 5 6    #表示每5秒更新一次輸出信息,統計6次後停止輸出。
Linux 2.6.32-431.el6.x86_64 (Mr_chen)   03/10/2018  _x86_64_    (1 CPU)

06:15:16 PM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest   %idle
06:15:21 PM  all    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
06:15:26 PM  all    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
06:15:31 PM  all    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
06:15:36 PM  all    0.00    0.00    0.20    0.00    0.00    0.00    0.00    0.00   99.80
06:15:41 PM  all    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
06:15:46 PM  all    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
Average:     all    0.00    0.00    0.03    0.00    0.00    0.00    0.00    0.00   99.97

以下是命令結果的詳細說明
第1列:06:13:34 PM,表示當前時間
第2列:CPU,all表示所有CPU,0表示第一個CPU...
後面9列的含義分別如下:

  • [x] %usr:用戶進程消耗的CPU時間百分比。
  • [x] %nice:改變過優先級的進程佔用的CPU時間百分比
  • [x] %sys:系統(內核)進程消耗的CPU時間百分比
  • [x] %iowait:IO等待所佔用的CPU時間百分比
  • [x] %irq:硬中斷佔用的CPU時間百分比
  • [x] %soft:軟中斷佔用的CPU時間百分比
  • [x] %steal:虛擬機強制CPU等待的時間百分比
  • [x] %guest:虛擬機佔用CPU時間的百分比
  • [x] %idle:CPU處於空閒狀態的時間百分比

(2)顯示指定CPU信息的統計

[root@Mr_chen ~]# mpstat -P 0   #顯示第一個CPU信息
Linux 2.6.32-431.el6.x86_64 (Mr_chen)   03/10/2018  _x86_64_    (1 CPU)

06:29:46 PM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest   %idle
06:29:46 PM    0    0.01    0.00    0.05    0.01    0.00    0.00    0.00    0.00   99.93

3.6 iostat:I/O信息統計

3.6.1 命令詳解

功能說明:

iostat是I/O statistics(輸入/輸出統計)的縮寫,其主要功能是對系統的磁盤I/O操作進行監視。它的輸出主要是顯示磁盤讀寫操作的統計信息,同時也會給出CPU的使用情況。同vmstat命令一樣,iostat命令也不能對某個進程進行深入分析,僅會對系統的整體情況進行分析。

選項說明:

參數選項解釋說明(帶@爲重點
-c顯示CPU的使用情況@
-d顯示磁盤的使用情況@
-k每秒以kB爲單位顯示數據
-m每秒以MB爲單位顯示數據
-n顯示NFS的使用情況
-t顯示每次統計的執行時間
-p device指定要統計的磁盤設備名稱,默認爲所有的磁盤設備
-x顯示擴展統計

3.6.2 使用範例

(1)顯示所有設備的負載情況

[root@Mr_chen ~]# iostat    #如果省略“時間間隔”和“次數”參數,則僅顯示一次報告後就退出
Linux 2.6.32-431.el6.x86_64 (Mr_chen)   03/10/2018  _x86_64_    (1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.02    0.00    0.05    0.01    0.00   99.93

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
scd0              0.02         0.13         0.00       1976          0
sda               0.34        28.21         7.76     445866     122724
dm-0              1.30        27.73         7.76     438306     122664
dm-1              0.02         0.15         0.00       2296          0

以下是命令結果說明
第1~2行中各列的含義具體如下

  • [x] %user : 用戶進程消耗的CPU時間百分比
  • [x] %nice : 改變過優先級的進程佔用的CPU時間百分比
  • [x] %system : 系統(內核)進程消耗的CPU時間百分比
  • [x] %iowait : IO等待所佔用的CPU時間百分比
  • [x] %steal : 虛擬機強制CPU等待的時間百分比
  • [x] %idle : CPU處在空閒狀態的時間百分比
    第3~4行中各列的含義如下

  • [x] tps : 表示該設備每秒的傳輸次數,“一次傳輸”的意思是“一次I/O請求”,多個邏輯請求可能會被合併爲“一次I/O請求”,“一次傳輸”請求的大小是未知的。
  • [x] Blk_read/s : 表示每秒讀取的數據塊數
  • [x] Blk_wrtn/s : 表示每秒寫入的數據塊數
  • [x] Blk_read : 表示讀取的所有塊數
  • [x] Blk_wrtn : 表示寫入的所有塊數

(2)定時顯示所有信息

[root@Mr_chen ~]#  iostat 2 3   #每隔2秒刷新顯示一次,共顯示3次
Linux 2.6.32-431.el6.x86_64 (Mr_chen)   03/10/2018  _x86_64_    (1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.01    0.00    0.04    0.00    0.00   99.94

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
scd0              0.02         0.09         0.00       1976          0
sda               0.25        19.82         5.51     445866     123988
dm-0              0.92        19.48         5.51     438306     123928
dm-1              0.01         0.10         0.00       2296          0

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

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
scd0              0.00         0.00         0.00          0          0
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

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.00    0.00    0.50    0.00    0.00   99.50

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
scd0              0.00         0.00         0.00          0          0
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

(3)只顯示磁盤統計信息

[root@Mr_chen ~]# iostat -d #選項-d只顯示磁盤的統計信息
Linux 2.6.32-431.el6.x86_64 (Mr_chen)   03/10/2018  _x86_64_    (1 CPU)

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
scd0              0.02         0.09         0.00       1976          0
sda               0.24        19.50         5.43     445866     124108
dm-0              0.91        19.17         5.42     438306     124048
dm-1              0.01         0.10         0.00       2296          0
[root@Mr_chen ~]# iostat -d -k  #選項-k以KB爲單位顯示數據
Linux 2.6.32-431.el6.x86_64 (Mr_chen)   03/10/2018  _x86_64_    (1 CPU)

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
scd0              0.02         0.04         0.00        988          0
sda               0.24         9.72         2.70     222933      62054
dm-0              0.91         9.55         2.70     219153      62024
dm-1              0.01         0.05         0.00       1148          0
[root@Mr_chen ~]# iostat -d -m  #選項-m以MB爲單位顯示數據
Linux 2.6.32-431.el6.x86_64 (Mr_chen)   03/10/2018  _x86_64_    (1 CPU)

Device:            tps    MB_read/s    MB_wrtn/s    MB_read    MB_wrtn
scd0              0.02         0.00         0.00          0          0
sda               0.24         0.01         0.00        217         60
dm-0              0.90         0.01         0.00        214         60
dm-1              0.01         0.00         0.00          1          0

(4)查看擴展信息

[root@Mr_chen ~]# iostat -d -x -k   #選項-x顯示擴展信息
Linux 2.6.32-431.el6.x86_64 (Mr_chen)   03/10/2018  _x86_64_    (1 CPU)

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await  svctm  %util
scd0              0.00     0.00    0.02    0.00     0.04     0.00     5.41     0.00    1.09   1.09   0.00
sda               0.08     0.61    0.18    0.05     9.49     2.65   102.62     0.00    0.79   0.42   0.01
dm-0              0.00     0.00    0.22    0.66     9.33     2.65    27.03     0.01    6.17   0.11   0.01
dm-1              0.00     0.00    0.01    0.00     0.05     0.00     8.00     0.00    0.24   0.13   0.00

以下是命令結果說明

  • [x] rrqm/s:每秒進行merge的讀操作數目
  • [x] wrqm/s:每秒進行merge的寫操作數目
  • [x] r/s:每秒完成的讀I/O設備次數
  • [x] w/s:每秒完成的寫I/O設備次數
  • [x] rkB/s:每秒讀入的千字節數
  • [x] wkB/s:每秒寫入的千字節數
  • [x] avgrq-sz:設備平均每次進行I/O操作的數據大小(扇區)
  • [x] avgqu-sz:平均I/O隊列長度
  • [x] await:設備平均每次I/O操作的等待時間(毫秒)
  • [x] svctm:設備平均每次I/O操作的服務時間(毫秒)
  • [x] %util:每秒鐘用於I/O操作的百分比

(5)只查看CPU的統計信息

[root@Mr_chen ~]# iostat -c #使用-c選項只顯示系統CPU的統計信息
Linux 2.6.32-431.el6.x86_64 (Mr_chen)   03/10/2018  _x86_64_    (1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.01    0.00    0.04    0.00    0.00   99.95

3.7 iotop:動態顯示磁盤I/O統計信息

3.7.1 命令詳解

功能說明:

iotop命令是一款實時監控磁盤I/O的工具,但必須以root用戶的身份運行。使用iotop命令可以很方便地查看每個進程使用磁盤I/O的情況。
最小化安裝系統一般是沒有這個命令的,需要使用yum命令額外安裝,安裝命令如下:yum -y install iotop

選項說明:

參數選項解釋說明(帶@爲重點
-o顯示正在使用I/O的進程或者線程,默認是顯示所有@
-d設置顯示的間隔秒數
-p只顯示指定PID的信息@
-u顯示指定用戶的信息
-P(大寫)只顯示進程,一般是顯示所有的線程
-a顯示從iotop啓動後每個線程完成了的I/O總數
-k設置顯示單位爲KB
-t在每一行前添加一個當前的時間

3.7.2 使用範例

(1)不接任何參數啓動iotop命令

[root@Mr_chen ~]# iotop     

Total DISK READ: 0.00 B/s | Total DISK WRITE: 0.00 B/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND                                                                      
    1 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % init
    2 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kthreadd]
    3 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [migration/0]
    4 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [ksoftirqd/0]
    5 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [migration/0]
    6 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [watchdog/0]
    7 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [events/0]
    8 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [cgroup]
    9 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [khelper]
   10 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [netns]
   11 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [async/mgr]
   12 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [pm]
   13 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [sync_supers]
   14 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [bdi-default]
   15 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kintegrityd/0]
   16 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kblockd/0]
   17 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kacpid]
   18 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kacpi_notify]
   19 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kacpi_hotplug]
   20 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [ata_aux]
   21 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [ata_sff/0]
   22 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [ksuspend_usbd]
   23 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [khubd]
   24 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kseriod]

以下是命令結果的具體說明

  • [x] Total DISK READ:總的磁盤讀取速度
  • [x] Total DISK WRITE:總的磁盤寫入速度
  • [x] TID:進程pid值
  • [x] PRIO:優先級
  • [x] USER:用戶
  • [x] DISK READ:磁盤讀取速度
  • [x] DISK WRITE:磁盤寫入速度
  • [x] SWAPIN:從swap分區讀取數據佔用的百分比
  • [x] IO:I/O佔用的百分比
  • [x] COMMAND:消耗I/O的進程名

3.8 sar:收集系統信息

3.8.1 命令詳解

功能說明:

通過sar命令,可以全面地獲取系統的CPU,運行隊列,磁盤I/O,分頁(交換區),內存,CPU中斷和網絡等性能數據

選項說明:

參數選項解釋說明(帶@的爲重點
-A顯示系統所有資源設備(CPU,內存,磁盤)的運行狀態
-u顯示系統所有CPU在採樣時間內的負載狀態@
-P顯示當前系統中指定CPU的使用情況
-d顯示系統所有硬盤設備在採樣時間內的使用狀況@
-r顯示在採樣時間內系統內存的使用狀況@
-b顯示在採樣時間內緩衝區的使用情況@
-v顯示索引節點,文件和其他內核表的狀態
-n顯示網絡運行狀態@
-q顯示運行隊列的大小,它與系統當時的平均負載相同@
-R顯示進程在採樣時間內的活動情況
-y顯示終端設備在採樣時間內的活動情況
-w顯示系統交換活動在採樣時間內的狀態
-o filename將命令結果以二進制格式存放在文件中,filename是文件名

3.8.2 使用範例

(1)查看系統CPU的整體負載情況

[root@Mr_chen ~]# sar -u 2 3
Linux 2.6.32-431.el6.x86_64 (Mr_chen)   03/10/2018  _x86_64_    (1 CPU)

11:44:34 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle
11:44:36 PM     all      0.00      0.00      1.00      0.00      0.00     99.00
11:44:38 PM     all      0.00      0.00      0.50      0.00      0.00     99.50
11:44:40 PM     all      0.00      0.00      0.00      0.00      0.00    100.00
Average:        all      0.00      0.00      0.50      0.00      0.00     99.50

以下是命令結果的詳細說明

  • [x] %user:用戶進程消耗的CPU時間百分比
  • [x] %nice:改變過優先級的進程佔用的CPU時間百分比
  • [x] %system:系統(內核)進程消耗的CPU時間百分比
  • [x] %iowait:IO等待所佔用的CPU時間百分比
  • [x] steal:虛擬機強制CPU等待的時間百分比
  • [x] idle:CPU處在空閒狀態的時間百分比

(2)顯示運行隊列的大小

[root@localhost ~]# sar -q 2 3  #使用-q選項顯示運行隊列的大小
Linux 2.6.32-431.el6.x86_64 (localhost)     03/14/2018  _x86_64_    (1 CPU)

04:59:18 PM   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15
04:59:20 PM         0        69      0.00      0.00      0.00
04:59:22 PM         0        69      0.00      0.00      0.00
04:59:24 PM         0        70      0.00      0.00      0.00
Average:            0        69      0.00      0.00      0.00

以下是命令結果的詳解說明

  • [x] runq-sz:運行隊列的長度(等待運行的進程數)
  • [x] plist-sz:進程列表中進程(process)和線程(thread)的數量
  • [x] ldavg-1:最後一分鐘的系統平均負載(system load average)
  • [x] ldavg-5:過去5分鐘的系統平均負載
  • [x] ldavg-15:過去15分鐘的系統平均負載

(3)顯示系統內存的使用狀況

[root@localhost ~]# sar -r 2 3  #使用-r選項顯示系統內存在採樣時間內的使用狀況
Linux 2.6.32-431.el6.x86_64 (localhost)     03/14/2018  _x86_64_    (1 CPU)

05:03:44 PM kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit
05:03:46 PM    913012     91400      9.10     11136     23324     43344      1.43
05:03:48 PM    913012     91400      9.10     11136     23324     43344      1.43
05:03:50 PM    913012     91400      9.10     11136     23324     43344      1.43
Average:       913012     91400      9.10     11136     23324     43344      1.43

以下命令結果的詳細說明

  • [x] kbmemfree:空閒物理內存量
  • [x] kbmemused:使用中的物理內存量
  • [x] %memused:物理內存量的使用率
  • [x] kbbuffers:內核中作爲緩衝區使用的物理內存容量
  • [x] kbcached:內核中作爲緩存使用的物理內存容量
  • [x] kbcommit:應用程序當前使用的內存大小
  • [x] %commit:應用程序當前使用的內存大小佔總大小的使用百分比

(4)顯示緩衝區的使用情況

[root@localhost ~]# sar -b 2 3  #使用-b選項顯示緩衝區在採樣時間內的使用情況
Linux 2.6.32-431.el6.x86_64 (localhost)     03/14/2018  _x86_64_    (1 CPU)

05:15:01 PM       tps      rtps      wtps   bread/s   bwrtn/s
05:15:03 PM      0.00      0.00      0.00      0.00      0.00
05:15:05 PM      0.00      0.00      0.00      0.00      0.00
05:15:07 PM      0.00      0.00      0.00      0.00      0.00
Average:         0.00      0.00      0.00      0.00      0.00

以下是命令的詳細結果說明

  • [x] tps:每秒鐘物理設備的I/O傳輸總量
  • [x] rtps:每秒鐘從物理設備讀入的數據總量
  • [x] wtps:每秒鐘向物理設備寫入的數據總量
  • [x] bread/s:每秒鐘從物理設備讀入的數據量,單位爲塊/s
  • [x] bwrtn/s:每秒鐘向物理設備寫入的數據量,單位爲塊/s

(5)顯示網絡的運行狀態

我們先來看一下顯示網絡接口信息的命令

[root@localhost ~]# sar -n DEV 2 3  #使用-n DEV顯示網絡接口的信息
Linux 2.6.32-431.el6.x86_64 (localhost)     03/14/2018  _x86_64_    (1 CPU)

05:22:13 PM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
05:22:15 PM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
05:22:15 PM      eth0      0.00      0.00      0.00      0.00      0.00      0.00      0.00
05:22:15 PM      eth1      0.00      0.00      0.00      0.00      0.00      0.00      0.00

05:22:15 PM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
05:22:17 PM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
05:22:17 PM      eth0      0.50      0.50      0.03      0.24      0.00      0.00      0.00
05:22:17 PM      eth1      0.00      0.00      0.00      0.00      0.00      0.00      0.00

05:22:17 PM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
05:22:19 PM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
05:22:19 PM      eth0      0.50      0.50      0.03      0.24      0.00      0.00      0.00
05:22:19 PM      eth1      0.00      0.00      0.00      0.00      0.00      0.00      0.00

Average:        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
Average:           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:         eth0      0.33      0.33      0.02      0.16      0.00      0.00      0.00
Average:         eth1      0.00      0.00      0.00      0.00      0.00      0.00      0.00

以下是命令結果的詳細說明

  • [x] IFACE:網絡接口
  • [x] rxpck/s:每秒鐘接收的數據包
  • [x] txpck/s:每秒鐘發送的數據包
  • [x] rxkB/s:每秒鐘接收的字節數
  • [x] txkB/s:每秒鐘發送的字節數
  • [x] rxcmp/s:每秒鐘接收的壓縮數據包
  • [x] txcmp/s:每秒鐘發送的壓縮數據包
  • [x] rxmcst/s:每秒鐘接收的多播數據包

下面的命令用來顯示網絡錯誤的統計數據

[root@localhost ~]# sar -n EDEV 2 3 #使用-n EDEV顯示網絡錯誤的統計數據
Linux 2.6.32-431.el6.x86_64 (localhost)     03/14/2018  _x86_64_    (1 CPU)

05:32:03 PM     IFACE   rxerr/s   txerr/s    coll/s  rxdrop/s  txdrop/s  txcarr/s  rxfram/s  rxfifo/s  txfifo/s
05:32:05 PM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
05:32:05 PM      eth0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
05:32:05 PM      eth1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

05:32:05 PM     IFACE   rxerr/s   txerr/s    coll/s  rxdrop/s  txdrop/s  txcarr/s  rxfram/s  rxfifo/s  txfifo/s
05:32:07 PM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
05:32:07 PM      eth0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
05:32:07 PM      eth1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

05:32:07 PM     IFACE   rxerr/s   txerr/s    coll/s  rxdrop/s  txdrop/s  txcarr/s  rxfram/s  rxfifo/s  txfifo/s
05:32:09 PM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
05:32:09 PM      eth0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
05:32:09 PM      eth1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

Average:        IFACE   rxerr/s   txerr/s    coll/s  rxdrop/s  txdrop/s  txcarr/s  rxfram/s  rxfifo/s  txfifo/s
Average:           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:         eth0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:         eth1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

以下是命令結果的詳細說明

  • [x] IFACE:網絡接口
  • [x] rxerr/s:每秒鐘接收的壞數據包
  • [x] txerr/s:每秒鐘發送的壞數據包
  • [x] coll/s:每秒的衝突數
  • [x] rxdrop/s:因爲緩衝充滿,每秒鐘丟棄的已接收數據包數
  • [x] txdrop/s:因爲緩衝充滿,每秒鐘丟棄的已發送數據包數
  • [x] txcarr/s:發送數據包時,每秒載波錯誤數
  • [x] rxfram/s:每秒接收數據包的幀對齊錯誤數
  • [x] rxfifo/s:接收的數據包每秒FIFO過速的錯誤數
  • [x] txfifo/s:發送的數據包每秒FIFO過速的錯誤數

下面的命令用於顯示套接字信息

[root@Mr_chen ~]# sar -n SOCK 2 3   #使用-n SOCK顯示套接字信息
Linux 2.6.32-431.el6.x86_64 (Mr_chen)   03/14/2018  _x86_64_    (1 CPU)

05:42:12 PM    totsck    tcpsck    udpsck    rawsck   ip-frag    tcp-tw
05:42:14 PM       281         2         0         0         0         0
05:42:16 PM       281         2         0         0         0         0
05:42:18 PM       281         2         0         0         0         0
Average:          281         2         0         0         0         0

以下是命令結果的詳細說明

  • [x] totsck:使用的套接字總數量
  • [x] tcpsck:使用的TCP套接字數量
  • [x] udpsck:使用的UDP套接字數量
  • [x] rawsck:使用的raw套接字數量
  • [x] ip-frag:使用的IP段數量
  • [x] tcp-tw:處於TIME_WAIT狀態的TCP套接字數量

(6)查看系統磁盤的讀寫性能

[root@Mr_chen ~]# sar -d 2 3    #使用-d選項顯示系統所有硬盤設備在採樣時間內的使用狀況
Linux 2.6.32-431.el6.x86_64 (Mr_chen)   03/14/2018  _x86_64_    (1 CPU)

05:47:59 PM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
05:48:01 PM   dev11-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
05:48:01 PM    dev8-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
05:48:01 PM  dev253-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
05:48:01 PM  dev253-1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

05:48:01 PM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
05:48:03 PM   dev11-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
05:48:03 PM    dev8-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
05:48:03 PM  dev253-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
05:48:03 PM  dev253-1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

05:48:03 PM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
05:48:05 PM   dev11-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
05:48:05 PM    dev8-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
05:48:05 PM  dev253-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
05:48:05 PM  dev253-1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

Average:          DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
Average:      dev11-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:       dev8-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:     dev253-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:     dev253-1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

以下是命令結果的詳細說明

  • [x] DEV:表示磁盤的設備名稱
  • [x] tps:表示該設備每秒的傳輸次數,“一次傳輸”的意思是“一次I/O請求”,多個邏輯請求可能會被合併爲“一次I/O請求”,“一次傳輸”請求的大小是未知的。
  • [x] rd_sec/s:表示每秒從設備讀取的扇區數
  • [x] wr_sec/s:表示每秒寫入設備的扇區數目
  • [x] avgrq-sz:設備平均每次I/O操作的數據大小(扇區)
  • [x] avgqu-sz:平均I/O隊列長度
  • [x] await:設備平均每次I/O操作的等待時間(毫秒)
  • [x] svctm:設備平均每次I/O操作的服務時間(毫秒)
  • [x] %util:每秒鐘用於I/O操作的百分比



本文出處:https://www.cnblogs.com/chensiqiqi/p/9163094.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章