手機版
你好,游客 登錄 注冊
背景:
閱讀新聞

Linux下sysstat安裝使用圖文詳解

[日期:2019-08-15] 來源:Linux公社  作者:醉落紅塵 [字體: ]

Sysstat,目前已經發布最新的12.1.6版本,Sysstat是一種在Linux系統服務器中常用的軟件工具包,可以用來監控服務器的性能。比如可以監控CPU、硬盤、網絡等數據,我們可以用來進行分析服務器的性能和資源的使用效率。我們將在在這篇文章中學習、使用Sysstat監控工具包的安裝和常用命令。

Linux下,我們多用ssh鏈接服務器遠程操控。對于系統的監控必不可少,sysstat很不錯的監控工具包。

對sysstat做一個介紹:“SYSSTAT是一個軟件包,包含監測系統性能及效率的一組工具,這些工具對于我們收集系統性能數據,比如CPU使用率、硬盤和網絡吞吐數據,這些數據的收集和分析,有利于我們判斷系統是否正常運行,是提高系統運行效率、安全運行服務器的得力助手”。

Linux下sysstat安裝使用圖文詳解

Linux下Sysstat性能監控工具的安裝

目前主流的Linux系統里都自帶有sysstat的集成包

1、Ubuntu下安裝方法見 sysstat 12.1.3 發布這篇文章  http://www.vnrggh.live/Linux/2019-02/156951.htm

或者 apt-get install sysstat

2、Git安裝包安裝

yum install -y git
git clone git://github.com/sysstat/sysstat
cd sysstat
./configure
make &&make install

CentOS/Red Hat平臺下我們可以通過下列命令安裝:

yum -y install sysstat

3、檢查是否成功(截止2019年8月15日,sysstat 最新版本為12.1.6),安裝完畢之后,用命令檢查是否可以看到當前版本。

[email protected]:~/www.vnrggh.live$ sar -V
sysstat 版本 12.1.6
(C) Sebastien Godard (sysstat <at> orange.fr)

如下圖:

Linux下sysstat安裝使用圖文詳解

看到上圖,就表示Sysstat安裝成功。

Linux下sysstat使用方法:

sysstat工具包包含的工具:

  • iostat 工具提供CPU使用率及硬盤吞吐效率的數據;  #比較核心的工具
  • mpstat 工具提供單個處理器或多個處理器相關數據;
  • pidstat: 關于運行中的進程/任務、CPU、內存等的統計信息
  • sar 工具負責收集、報告并存儲系統活躍的信息;    #統計數據的核心工具
  • sa1 工具負責收集并存儲每天系統動態信息到一個二進制的文件中。它是通過計劃任務工具cron來運行,是為sadc所設計的程序前端程序;
  • sa2工具負責把每天的系統活躍性息寫入總結性的報告中。它是為sar所設計的前端 ,要通過cron來調用
  • sadc 是系統動態數據收集工具,收集的數據被寫一個二進制的文件中,它被用作sar工具的后端;
  • sadf 顯示被sar通過多種格式收集的數據;
  • nfsiostat: NFS(Network File System)的I/O統計信息。
  • cifsiostat: CIFS(Common Internet File System)的統計信息

主要說明其所包含的工具sadc、sdaf、sar、iostat、mpstat的用法。

查看命令的參數:  xxx --help

[ <interval> [ <count> ] ] [ <outfile> ]

間隔 s          次數                輸出文件

1、iostat

[email protected]:~/www.vnrggh.live$ iostat --help
用法: iostat [ 選項 ] [ <時間間隔> [ <次數> ] ]
選項:
[ -c ] [ -d ] [ -h ] [ -k | -m ] [ -N ] [ -s ] [ -t ] [ -V ] [ -x ] [ -y ] [ -z ]
[ -j { ID | LABEL | PATH | UUID | ... } ]
[ --dec={ 0 | 1 | 2 } ] [ --human ] [ -o JSON ]
[ [ -H ] -g <用戶組名> ] [ -p [ <設備> [,...] | ALL ] ]
[ <設備> [...] | ALL ]

如下圖:

Linux下sysstat安裝使用圖文詳解

參數釋義:

-c : 僅顯示cpu的狀態
-d : 僅顯示存儲設備的狀態,不可以和-c一起使用
-k :默認顯示的是讀入讀出的block信息,用-k可以改成KB大小來顯示 -m
-t  : 顯示日期
-p device | ALL :
device為某個設備或者某個分區,如果使用ALL,就表示要顯示所有分區和設備的信息

示例:

[email protected]:~/www.vnrggh.live$ iostat -c 1 3
Linux 5.2.5-050205-generic (linuxidc)     08/15/2019     _x86_64_    (1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           4.28    0.07    5.65    9.88    0.00   80.12

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           6.78    0.00   27.97    0.00    0.00   65.25

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           2.00    0.00    4.00    0.00    0.00   94.00
?

-x 顯示擴展狀態,顯示出更多內容

[email protected]:~/www.vnrggh.live$ iostat -x
Linux 5.2.5-050205-generic (linuxidc)  08/15/2019  _x86_64_ (1 CPU)

avg-cpu:  %user  %nice %system %iowait  %steal  %idle
          4.25    0.07    5.53    9.61    0.00  80.55

如下圖:

Linux下sysstat安裝使用圖文詳解

說明:

rrqm/s: 每秒進行 merge 的讀操作數目。即 delta(rmerge)/s
wrqm/s: 每秒進行 merge 的寫操作數目。即 delta(wmerge)/s
r/s: 每秒完成的讀 I/O 設備次數。即 delta(rio)/s
w/s: 每秒完成的寫 I/O 設備次數。即 delta(wio)/s
rsec/s: 每秒讀扇區數。即 delta(rsect)/s
wsec/s: 每秒寫扇區數。即 delta(wsect)/s
rkB/s: 每秒讀K字節數。是 rsect/s 的一半,因為每扇區大小為512字節。(需要計算)
wkB/s: 每秒寫K字節數。是 wsect/s 的一半。(需要計算)
avgrq-sz: 平均每次設備I/O操作的數據大小 (扇區)。delta(rsect+wsect)/delta(rio+wio)
avgqu-sz: 平均I/O隊列長度。即 delta(aveq)/s/1000 (因為aveq的單位為毫秒)。
await: 平均每次設備I/O操作的等待時間 (毫秒)。即 delta(ruse+wuse)/delta(rio+wio)
svctm: 平均每次設備I/O操作的服務時間 (毫秒)。即 delta(use)/delta(rio+wio)
%util: 一秒中有百分之多少的時間用于 I/O 操作,或者說一秒中有多少時間 I/O 隊列是非空的。
delta(use)/s/1000 (因為use的單位為毫秒)如果 %util 接近 100%,說明產生的I/O請求太多,I/O系統已經滿負荷,該磁盤可能存在瓶頸。
idle小于70% IO壓力就較大了,一般讀取速度有較多的wait.  #CPU空閑等待時間

2、mpstat

mpstat 用于多處理器系統中的CPU的利用率的統計。細化到具體某個cpu的狀態時可以使用參數-P,處理器的ID從0開始

[email protected]:~/www.vnrggh.live$ mpstat --help
用法: mpstat [ 選項 ] [ <時間間???> [ <次數> ] ]
選項:
[ -I { SUM | CPU | SCPU | ALL } ] [ -N { <node_list> | ALL } ]
[ --dec={ 0 | 1 | 2 } ] [ -o JSON ] [ -P { <CPU_列表> | ALL } ]

mpstat

[email protected]:~/www.vnrggh.live$ mpstat -P 0 1 2

mpstat

說明:

%user    顯示在用戶級別(application)運行使用 CPU 總時間的百分比。
%nice    顯示在用戶級別,用于nice操作,所占用 CPU 總時間的百分比。
%system 在核心級別(kernel)運行所使用 CPU 總時間的百分比。
%iowait 顯示用于等待I/O操作占用 CPU 總時間的百分比。
%irq  顯示在interval時間段內,硬中斷占用的CPU總時間。
%soft  顯示在interval時間段內,軟中斷占用的CPU總時間。
%steal  管理程序(hypervisor)為另一個虛擬進程提供服務而等待虛擬CPU的百分比。
%idle    顯示 CPU 空閑時間占用CPU總時間的百分比。
intr/s 在internal時間段里,每秒CPU接收的中斷的次數。

3、sadc

sadc 位于/usr/local/lib/sa/目錄中(Ubuntu 18.04 LTS),如果你沒有設置可執行路徑,要用絕對路徑來運行。

sdac只是一個搜集寫入工具,并不直接回顯于屏幕上。sadc 是把數據寫在一個二進制的文件中,如果想查看數據內容,需要用sadf工具來顯示。

[email protected]:~/www.vnrggh.live$ /usr/local/lib/sa/sadc --help
用法: /usr/local/lib/sa/sadc [ 選項 ] [ <時間間隔> [ <次數> ] ] [ <輸出文件> ]
選項:
[ -C <注釋> ] [ -D ] [ -F ] [ -f ] [ -L ] [ -V ]
[ -S { INT | DISK | IPV6 | POWER | SNMP | XDISK | ALL | XALL } ]

如下圖:

Linux下sysstat安裝使用圖文詳解

注意:此工具中的參數都是可選的,如果沒有指定任何參數

比如 /usr/local/lib/sa/sadc - (后面的“-”是必須的,少了會出亂碼和報錯),則會輸出數據到 /var/log/sa/目錄下的一個文件中。

Linux下sysstat安裝使用圖文詳解

要通過sadf 或sar工具來查看。

[email protected]:~/www.vnrggh.live$ ll /var/log/sa/
總用量 12
drwxr-xr-x  2 root root  4096 Aug 15 01:54 ./
drwxrwxr-x 18 root syslog 4096 Aug 15 01:26 ../
-rw-r--r--  1 root root  1064 Aug 15 02:42 sa15
[email protected]:~/www.vnrggh.live$ sadf /var/log/sa/sa15
linuxidc -1 2019-08-15 06:54:24 UTC LINUX-RESTART (1 CPU)
linuxidc -1 2019-08-15 07:20:40 UTC LINUX-RESTART (1 CPU)
linuxidc -1 2019-08-15 07:42:44 UTC LINUX-RESTART (1 CPU)

如下圖:

sadc

4、sadf

sadf 能從二進制文件中提取sar所收集的數據;顯示的格式不如sar直觀,其主要用于導出為csv、xml等格式的文件,方便導入數據庫或excel等程序.

[email protected]:~/www.vnrggh.live$ sadf --help
用法: sadf [ 選項 ] [ <時間間隔> [ <次數> ] ] [ <數據文件> | -[0-9]+ ]
選項:
[ -C ] [ -c | -d | -g | -j | -l | -p | -r | -x ] [ -H ] [ -h ] [ -T | -t | -U ] [ -V ]
[ -O <選項> [,...] ] [ -P { <cpu> [,...] | ALL } ]
[ --dev=<設備列表> ] [ --fs=<文件系統列表> ] [ --iface=<iface_列表> ]
[ -s [ <時:分[:秒]> ] ] [ -e [ <時:分[:秒]> ] ]
[ -- <sar_選項> ]

如下圖:

Linux下sysstat安裝使用圖文詳解

5、sar

sar 工具比較強大,既能收集系統CPU、硬盤、動態數據,也能顯示動態顯示,更能查看二進制數據文件;sar 的應用比較多,而且也比較復雜,數據更為精確。我們只了解一下常用的內容就行,大多數內容我們了解就行。

[email protected]:~/www.vnrggh.live$ sar --help
用法: sar [ 選項 ] [ <時間間隔> [ <次數> ] ]
主要選項和報告(報告名以方括號分隔):
 -B 分頁狀況 [A_PAGE]
 -b I/O 和傳輸速率信息狀況 [A_IO]
 -d 塊設備狀況 [A_DISK]
 -F [ MOUNT ]
  文件系統統計信息 [A_FS]
 -H 巨大頁面利用率 [A_HUGE]
 -I { <中斷列表> | SUM | ALL }
  中斷信息狀況 [A_IRQ]
 -m { <關鍵字> [,...] | ALL }
  電源管理統計信息 [A_PWR_...]
  關鍵字:
  CPU CPU 瞬時時鐘頻率
  FAN 風扇速度
......

如下圖:

Linux下sysstat安裝使用圖文詳解

參數說明:

-A 顯示所有歷史數據,通過讀取/var/log/sar目錄下的所有文件,并把它們分門別類的顯示出來;
-b 通過設備的I/O中斷讀取設置的吞吐率;
-B 報告內存或虛擬內存交換統計;
-c 報告每秒創建的進程數;
-d 報告物理塊設備(存儲設備)的寫入、讀取之類的信息,如果直觀一點,可以和p參數共同使用,-dp
-f 從一個二進制的數據文件中讀取內容,比如 sar -f filename
-i interval 指定數據收集的時間,時間單位是秒;
-n 分析網絡設備狀態的統計,后面可以接的參數有 DEV、EDEV、NFS、NFSD、SOCK等。比如-n DEV
-o 把統計信息寫入一個文件,比如 -o filename ;
-P 報告每個處理器應用統計,用于多處理器機器,并且啟用SMP內核才有效;
-p 顯示友好設備名字,以方便查看,也可以和-d和-n 參數結合使用,比如 -dp 或-np
-r 內存和交換區占用統計;
-R
-t 這個選項對從文件讀取數據有用,如果沒有這個參數,會以本地時間為標準 讀出;
-u 報告CPU利用率的參數;
-v 報告inode,文件或其它內核表的資源占用信息;
-w 報告系統交換活動的信息; 每少交換數據的個數;
-W 報告系統交換活動吞吐信息;

#高版本新加的
-x 用于監視進程的,在其后要指定進程的PID值;
-X 用于監視進程的,但指定的應該是一個子進程ID

注: 如果只用sar 命令,sar就是讀取 /var/log/sa目錄下最近系統狀態文件。sar -A 讀取/var/log/sa目錄下所有文件數據。

[email protected]:~/www.vnrggh.live$ sar -u 1 5
Linux 5.2.5-050205-generic (linuxidc)     08/15/2019     _x86_64_    (1 CPU)

02:57:46 AM     CPU     %user     %nice   %system   %iowait    %steal     %idle
02:57:47 AM     all      0.00      0.00      2.04      0.00      0.00     97.96
02:57:48 AM     all      8.25      0.00      5.15      0.00      0.00     86.60
02:57:49 AM     all      2.08      0.00      0.00      0.00      0.00     97.92
02:57:50 AM     all     27.27      0.00     12.12      0.00      0.00     60.61
02:57:51 AM     all     44.58      0.00     16.87      0.00      0.00     38.55
平均時間:     all     15.64      0.00      6.98      0.00      0.00     77.38
?

sar -n DEV 2 4  #查看網絡設備的網絡吞吐量

[email protected]:~/www.vnrggh.live$ sar -n DEV 2 4

如下圖:

sar

參數釋義:

IFACE:設備名;
rxpck/s:每秒收到的包;
rxbyt/s:每秒收到的所有包的數量 ;
txbyt/s:每秒發送的所有包的數量 ;
txbyt/s:每秒發送的所有包的大小;
rxcmp/s:每秒收到數的據壓縮包的數量;
txcmp/s :每秒傳輸的數據壓縮包的數據;
rxmcst/s: 每秒收到的多播的包數量;

想獲取某塊網卡的流量情況,我們可以使用grep過濾。  #sar -n DEV 2 4 | grep eth0

[email protected]:~/www.vnrggh.live$ sudo /usr/local/lib/sa/sadc -
[sudo] linuxidc 的密碼:
[email protected]:~/www.vnrggh.live$ /usr/local/lib/sa/sadc 1 10 sa000
[email protected]:~/www.vnrggh.live$ sar -f sa000
Linux 5.2.5-050205-generic (linuxidc)  08/15/2019  _x86_64_ (1 CPU)

01:55:04 AM    CPU    %user    %nice  %system  %iowait    %steal    %idle
01:55:07 AM    all    24.77      0.00    75.23      0.00      0.00      0.00
01:55:08 AM    all    30.00      0.00    70.00      0.00      0.00      0.00
01:55:09 AM    all    16.67      0.00    83.33      0.00      0.00      0.00
01:55:10 AM    all    26.67      0.00    73.33      0.00      0.00      0.00
01:55:11 AM    all    19.35      0.00    80.65      0.00      0.00      0.00
01:55:12 AM    all    25.81      0.00    74.19      0.00      0.00      0.00
01:55:13 AM    all    16.67      0.00    33.33    50.00      0.00      0.00
01:55:14 AM    all    18.18      0.00    28.57    53.25      0.00      0.00
01:55:15 AM    all    22.86      0.00    38.57    38.57      0.00      0.00
平均時間:    all    22.11      0.00    57.02    20.87      0.00      0.00

Linux下sysstat安裝使用圖文詳解

6、pidstat

[email protected]:~/www.vnrggh.live$ pidstat --help
用法:pidstat [ 選項 ] [ <時間間隔> [ <計數> ] ] [ -e <程序> <參數> ]
選項:
[ -d ] [ -H ] [ -h ] [ -I ] [ -l ] [ -R ] [ -r ] [ -s ] [ -t ] [ -U [ <用戶名> ] ]
[ -u ] [ -V ] [ -v ] [ -w ] [ -C <命令> ] [ -G <進程名> ]
[ -p { <pid> [,...] | SELF | ALL } ] [ -T { TASK | CHILD | ALL } ]
[ --dec={ 0 | 1 | 2 } ] [ --human ]

如下圖:

Linux下sysstat安裝使用圖文詳解

[email protected]:~/www.vnrggh.live$ pidstat -dl

Linux下sysstat安裝使用圖文詳解

 

通過sysstat監控Linux各項參數 http://www.vnrggh.live/Linux/2011-12/50177.htm

Linux系統監控工具sysstat http://www.vnrggh.live/Linux/2014-07/104683.htm

Linux系統性能和使用活動監控工具 sysstat  http://www.vnrggh.live/Linux/2014-10/108136.htm

Linux系統性能和使用活動監控工具–Sysstat  http://www.vnrggh.live/Linux/2015-12/126014.htm

sysstat 12.1.6 發布,適用于Linux的性能監視工具  http://www.vnrggh.live/Linux/2019-08/160081.htm

sysstat 的詳細介紹請點這里
sysstat 的下載地址請點這里

Linux公社的RSS地址http://www.vnrggh.live/rssFeed.aspx

本文永久更新鏈接地址http://www.vnrggh.live/Linux/2019-08/160082.htm

linux
本文評論   查看全部評論 (0)
表情: 表情 姓名: 字數

       

評論聲明
  • 尊重網上道德,遵守中華人民共和國的各項有關法律法規
  • 承擔一切因您的行為而直接或間接導致的民事或刑事法律責任
  • 本站管理人員有權保留或刪除其管轄留言中的任意內容
  • 本站有權在網站內轉載或引用您的評論
  • 參與本評論即表明您已經閱讀并接受上述條款
彩票平台