【linux命令學(xué)習(xí)】— sar 命令學(xué)習(xí)

https://blog.csdn.net/u013332124/article/details/101075521

一、命令使用介紹

sar命令全稱 System Activity Report,它非常全能,可以分析linux系統(tǒng)各個維度的指標(biāo)。包括:

  • 文件的讀寫情況
  • 系統(tǒng)調(diào)用的使用情況
  • 磁盤I/O
  • CPU效率
  • 內(nèi)存使用狀況(包括內(nèi)存頁面的置換)
  • 進(jìn)程活動
  • IPC有關(guān)的活動
  • 網(wǎng)卡相關(guān)信息

他的命令常用格式如下:

sar [options] [-A] [-o file] t [n]

其中t為采樣間隔,n為采樣次數(shù),默認(rèn)值是1;-o file表示將命令結(jié)果以二進(jìn)制格式存放在文件中,file是文件名;options為命令行選項,sar常用的選項有以下(主要各個維度的對應(yīng)參數(shù)信息):

  • -A:所有報告的總和
  • -u:輸出CPU使用情況的統(tǒng)計信息
  • -q:輸出cpu等待隊列的長度相關(guān)統(tǒng)計信息
  • -v:輸出inode、文件和其他內(nèi)核表的統(tǒng)計信息
  • -d:輸出每一個塊設(shè)備的活動信息
  • -r:輸出內(nèi)存和交換空間的統(tǒng)計信息
  • -b:顯示I/O和傳送速率的統(tǒng)計信息
  • -a:文件讀寫情況
  • -c:輸出進(jìn)程統(tǒng)計信息,每秒創(chuàng)建的進(jìn)程數(shù)
  • -R:輸出內(nèi)存頁面的統(tǒng)計信息
  • -y:終端設(shè)備活動情況
  • -w:輸出系統(tǒng)交換活動信息

二、系統(tǒng)各個維度的性能分析

1、CPU相關(guān)指標(biāo)

和CPU相關(guān)的指標(biāo)的參數(shù)主要有 -P、-u、-q。

1.1、 -P 或者 -u 輸出CPU使用情況的統(tǒng)計信息

其中-u是輸出cpu總的相關(guān)性能指標(biāo),-P可以指定輸出某一個cpu的指標(biāo)(會把cpu一個個列出來)

# 獲取cpu的一個總的信息(默認(rèn)就是-u)
sar 2 2 
sar -u 2 2
# 輸出更詳細(xì)一些的報表
sar -u ALL 2 2
# 獲取某一個cpu的信息
sar -P 1 2 2
# 獲取所有cpu的信息
sar -P ALL 22

輸出:

03:47:05 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle
03:47:07 PM     all      3.88      0.00      0.19      0.06      0.00     95.87
03:47:09 PM     all      4.06      0.00      0.22      0.11      0.00     95.61
Average:        all      3.97      0.00      0.20      0.09      0.00     95.74

相關(guān)指標(biāo)含義:

  • %user:CPU處在用戶模式下的時間百分比
  • %nice:CPU處在帶NICE值的用戶模式下的時間百分比
  • %system:CPU處在系統(tǒng)模式下的時間百分比
  • %iowait:CPU等待輸入輸出完成時間的百分比
  • %steal:管理程序維護(hù)另一個虛擬處理器時,虛擬CPU的無意識等待時間百分比
  • %idle:CPU空閑時間百分比

1.2、 -q 輸出CPU隊列的相關(guān)統(tǒng)計信息

sar -q 2 2

輸出:

03:54:30 PM   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15
03:54:32 PM         2      2798      1.79      1.43      1.46
03:54:34 PM         2      2797      1.79      1.43      1.46
Average:            2      2798      1.79      1.43      1.46

相關(guān)指標(biāo)含義:

  • runq-sz:運行隊列的長度(等待運行的進(jìn)程數(shù));
  • plist-sz:進(jìn)程列表中進(jìn)程(processes)和線程(threads)的數(shù)量,很多線程可能在休眠中
  • ldavg-1:最后1分鐘的系統(tǒng)平均負(fù)載;
  • ldavg-5:過去5分鐘的系統(tǒng)平均負(fù)載;
  • ldavg-15:過去15分鐘的系統(tǒng)平均負(fù)載;

2、磁盤相關(guān)指標(biāo)(建議用iostat)

我們可以通過-b、-d來輸出磁盤的相關(guān)指標(biāo)。通過

2.1、 -b 輸出磁盤基本信息

sar -b 2 2

輸出:

04:10:11 PM       tps      rtps      wtps   bread/s   bwrtn/s
04:10:13 PM    101.52      0.00    101.52      0.00    921.83
04:10:15 PM    117.01      0.00    117.01      0.00   1150.52
Average:       109.21      0.00    109.21      0.00   1035.29

相關(guān)指標(biāo)含義:

  • tps:采樣期間I/O的請求數(shù),多個邏輯請求會被合并為一個I/O磁盤請求,一次傳輸?shù)拇笮∈遣淮_定的
  • rtps:采樣期間內(nèi)的io讀請求數(shù)
  • wtps:采樣期間內(nèi)的io寫請求數(shù)
  • bread/s:采樣期間內(nèi)的io讀的塊數(shù)
  • bwrtn/s:采樣期間內(nèi)的io寫的塊數(shù)

2.2、-d 輸出磁盤更詳細(xì)的信息

sar -d 2 2

輸出:

04:13:39 PM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
04:13:41 PM  dev8-144      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
04:13:41 PM   dev8-80      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
04:13:41 PM   dev8-32      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
04:13:41 PM  dev8-112      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
04:13:41 PM  dev8-128      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
04:13:41 PM   dev8-96      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
04:13:41 PM   dev8-64      1.00      0.00     16.00     16.00      0.01     13.00     13.00      1.30
04:13:41 PM  dev8-160      1.50      0.00     28.00     18.67      0.02     14.67      8.67      1.30
04:13:41 PM   dev8-16      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
04:13:41 PM   dev8-48      1.00      0.00     12.00     12.00      0.01     12.50     12.50      1.25
04:13:41 PM    dev8-0      2.50      0.00     92.00     36.80      0.02      9.20      9.20      2.30

相關(guān)指標(biāo)含義:

  • DEV:磁盤設(shè)備;
  • tps:采樣期間從物理磁盤I/O的次數(shù),多個邏輯請求會被合并為一個I/O磁盤請求,一次傳輸?shù)拇笮∈遣淮_定的;
  • rd_sec/s:采樣期間讀扇區(qū)的次數(shù);
  • wr_sec/s:采樣期間寫扇區(qū)的次數(shù);
  • avgrq-sz:平均每次設(shè)備I/O操作的數(shù)據(jù)大小(扇區(qū));
  • avgqu-sz:磁盤請求隊列的平均長度;
  • await:從請求磁盤操作到系統(tǒng)完成處理,每次請求的平均消耗時間,包括請求隊列等待時間,單位是毫秒(1秒=1000毫秒);
  • svctm:系統(tǒng)處理每次請求的平均時間,不包括在請求隊列中消耗的時間;
  • %util:I/O請求占CPU的百分比,比率越大,說明越飽;

2.3、 小結(jié)

sar的磁盤指標(biāo)和iostat輸出的其實基本是一樣的。但是iostat可以輸出磁盤的名稱,我們可以通過df -h找到對應(yīng)的磁盤是哪個目錄。而sar的-b不是以單個磁盤為粒度,-d雖然有輸出DEV,但和df -h輸出的磁盤名稱好像對應(yīng)不上。因此,個人建議還是iostat比較好用:

https://blog.csdn.net/u013332124/article/details/98352716

3、內(nèi)存相關(guān)指標(biāo)(-n 參數(shù))

通過 -B、-r、-W 來查看內(nèi)存的相關(guān)指標(biāo)

3.1、-r 查看內(nèi)存的使用情況

sar -r 2 2

輸出:

05:37:07 PM kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit
05:37:09 PM   2717548  46656484     94.50    297688   3473964  70040892    105.88
05:37:11 PM   2717416  46656616     94.50    297692   3473972  70038520    105.88
Average:      2717482  46656550     94.50    297690   3473968  70039706    105.88

相關(guān)指標(biāo)含義:

  • kbmemfree:這個值和free命令中的free值基本一致,所以它不包括buffercache的空間;
  • kbmemused:這個值和free命令中的used值基本一致,所以它包括buffercache的空間;
  • %memused:這個值是kbmemused和內(nèi)存總量(不包括swap)的一個百分比;
  • kbbuffers:這兩個值就是free命令中的buffer;
  • kbcached:這兩個值就是free命令中的cache;
  • kbcommit:保證當(dāng)前系統(tǒng)所需要的內(nèi)存,即為了確保不溢出而需要的內(nèi)存(RAM + swap);
  • %commit:這個值是kbcommit與內(nèi)存總量(包括swap)的一個百分比;

3.2、-B 查看內(nèi)存分頁的情況

sar -B 2 2

輸出:

05:39:43 PM  pgpgin/s pgpgout/s   fault/s  majflt/s  pgfree/s pgscank/s pgscand/s pgsteal/s    %vmeff
05:39:45 PM      0.00     56.57   4540.91      0.00   1527.27      0.00      0.00      0.00      0.00
05:39:47 PM      0.00     50.25   4522.11      0.00   1455.78      0.00      0.00      0.00      0.00
Average:         0.00     53.40   4531.49      0.00   1491.44      0.00      0.00      0.00      0.00

相關(guān)指標(biāo)含義:

  • pgpgin/s:表示每秒從磁盤或SWAP置換到內(nèi)存的字節(jié)數(shù)(KB);
  • pgpgout/s:表示每秒從內(nèi)存置換到磁盤或SWAP的字節(jié)數(shù)(KB);
  • fault/s:每秒鐘系統(tǒng)產(chǎn)生的缺頁數(shù),即主缺頁與次缺頁之和(major + minor);
  • majflt/s:每秒鐘產(chǎn)生的主缺頁數(shù);
  • pgfree/s:每秒被放入空閑隊列中的頁個數(shù);
  • pgscank/s:每秒被kswapd掃描的頁個數(shù);
  • pgscand/s:每秒直接被掃描的頁個數(shù);
  • pgsteal/s:每秒鐘從cache中被清除來滿足內(nèi)存需要的頁個數(shù);
  • %vmeff:每秒清除的頁(pgsteal)占總掃描頁(pgscank+pgscand)的百分比;

3.3、-W 查看SWAP交換的統(tǒng)計信息

sar -W 2 2

輸出:

05:41:40 PM  pswpin/s pswpout/s
05:41:42 PM      0.00      0.00
05:41:44 PM      0.00      0.00
Average:         0.00      0.00

相關(guān)指標(biāo)含義:

  • pswpin/s:每秒從交換分區(qū)到系統(tǒng)的交換頁面(swap page)數(shù)量
  • pswpout/s:每秒從系統(tǒng)交換到swap的交換頁面(swap page)的數(shù)量

4、網(wǎng)絡(luò)相關(guān)指標(biāo)

使用姿勢:

# keyword 表示不同的幾個開關(guān)。包括: DEV | EDEV | NFS | NFSD | SOCK
# 每個開關(guān)輸出的信息都不一樣
sar -n {keyword} or {ALL}
  • DEV : 顯示網(wǎng)絡(luò)接口信息
  • EDEV : 顯示關(guān)于網(wǎng)絡(luò)錯誤的統(tǒng)計數(shù)據(jù)
  • NFS : 顯示NFS客戶端信息
  • NFSD : 顯示NFS服務(wù)器信息
  • SOCK : 顯示套接字信息

4.1、網(wǎng)絡(luò)接口相關(guān)信息

sar -n DEV 2 2 

輸出:

05:48:11 PM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
05:48:13 PM        lo      7.50      7.50      0.69      0.69      0.00      0.00      0.00
05:48:13 PM       em1      5.00      8.00      0.60      0.94      0.00      0.00      0.00
05:48:13 PM       em2     19.00      8.00      2.50      1.44      0.00      0.00      2.00
05:48:13 PM       em3      0.00      0.00      0.00      0.00      0.00      0.00      0.00
05:48:13 PM       em4      0.00      0.00      0.00      0.00      0.00      0.00      0.00
05:48:13 PM     bond0     24.00     16.00      3.09      2.37      0.00      0.00      2.00

相關(guān)指標(biāo)含義:

  • IFACE:LAN接口網(wǎng)絡(luò)設(shè)備的名稱;
  • rxpck/s:每秒鐘接收的數(shù)據(jù)包;
  • txpck/s:每秒鐘發(fā)送的數(shù)據(jù)包;
  • rxkB/s:每秒鐘接收的字節(jié)數(shù);
  • txkB/s:每秒鐘發(fā)送的字節(jié)數(shù);
  • rxcmp/s:每秒鐘接收的壓縮數(shù)據(jù)包;
  • txcmp/s:每秒鐘發(fā)送的壓縮數(shù)據(jù)包;
  • rxmcst/s:每秒鐘接收的多播數(shù)據(jù)包;

4.2、網(wǎng)絡(luò)錯誤的統(tǒng)計數(shù)據(jù)

sar -n EDEV 2 2

輸出:

05:49:25 PM     IFACE   rxerr/s   txerr/s    coll/s  rxdrop/s  txdrop/s  txcarr/s  rxfram/s  rxfifo/s  txfifo/s
05:49:27 PM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
05:49:27 PM       em1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
05:49:27 PM       em2      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
05:49:27 PM       em3      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
05:49:27 PM       em4      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
05:49:27 PM     bond0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

相關(guān)指標(biāo)含義:

  • IFACE:LAN接口網(wǎng)絡(luò)設(shè)備的名稱;
  • rxerr/s:每秒鐘接收的壞數(shù)據(jù)包;
  • txerr/s:每秒鐘發(fā)送的壞數(shù)據(jù)包;
  • coll/s:每秒沖突數(shù);
  • rxdrop/s:因為緩沖充滿,每秒鐘丟棄的已接收數(shù)據(jù)包數(shù);
  • txdrop/s:因為緩沖充滿,每秒鐘丟棄的已發(fā)送數(shù)據(jù)包數(shù);
  • txcarr/s:發(fā)送數(shù)據(jù)包時,每秒載波錯誤數(shù);
  • rxfram/s:每秒接收數(shù)據(jù)包的幀對齊錯誤數(shù);
  • rxfifo/s:接收的數(shù)據(jù)包每秒FIFO過速的錯誤數(shù);
  • txfifo/s:發(fā)送的數(shù)據(jù)包每秒FIFO過速的錯誤數(shù)

4.3、 查看套接字相關(guān)信息

sar -n SOCK 2 2

輸出:

05:51:14 PM    totsck    tcpsck    udpsck    rawsck   ip-frag    tcp-tw
05:51:16 PM       436       277         5         0         0         0
05:51:18 PM       435       276         5         0         0         0
Average:          436       276         5         0         0         0

相關(guān)指標(biāo)含義:

  • totsck:使用的套接字總數(shù)量;
  • tcpsck:使用的TCP套接字?jǐn)?shù)量;
  • udpsck:使用的UDP套接字?jǐn)?shù)量;
  • rawsck:使用的RAW套接字?jǐn)?shù)量;
  • ip-frag:當(dāng)前的IP分片的數(shù)目;
  • tcp-tw:TCP套接字中處于TIME-WAIT狀態(tài)的連接數(shù)量

三、其他

1、關(guān)于輸出二進(jìn)制文件和讀取sa二進(jìn)制文件

通過-o參數(shù),可以將性能報告輸出到指定的文件中。不過這個文件是二進(jìn)制的,需要查看具體的信息還是需要通過sar命令來打開解析。

# 輸出到指定的文件
sar -o /tmp/sa.test 2 2
# 解析某個sar二進(jìn)制文件
sar -f /tmp/sa.test

2、關(guān)于sysstat包

sar、sa1sa2命令都是sysstat包的一部分。它是Linux包含的性能監(jiān)視工具集合。

  • sar:顯示數(shù)據(jù)
  • sa1sa2:收集和保存數(shù)據(jù)用于以后分析。sa2shell腳本在/var/log/sa目錄中每日寫入一個報告。sa1shell腳本將每日的系統(tǒng)活動信息以二進(jìn)制數(shù)據(jù)的形式寫入到文件中。

我們可以在/etc/cron.d/sysstat文件中找到sar默認(rèn)的cron作業(yè),如下:

# Run system activity accounting tool every 10 minutes
*/10 * * * * root /usr/lib64/sa/sa1 1 1
# 0 * * * * root /usr/lib64/sa/sa1 600 6 &
# Generate a daily summary of process accounting at 23:53
53 23 * * * root /usr/lib64/sa/sa2 -A

這樣我們就可以按照我們的需求,進(jìn)行輸出定制化了。

sar不止上面說的幾個程序:

  • sar:收集、報告或存儲信息(CPU、內(nèi)存、磁盤、中斷、網(wǎng)卡、TTY、內(nèi)核表等等);
  • sadc:系統(tǒng)數(shù)據(jù)收集器,給sar做后臺服務(wù);
  • sa1:收記并存儲二進(jìn)制數(shù)據(jù)到每天的文件;這是設(shè)計來給cron執(zhí)行一個sadc的前臺程序;
  • sa2:生成總結(jié)報表;
  • sadf:以多種格式顯示數(shù)據(jù)(CSV, XML, JSON, etc.),還可以用來生成SVG(Scalable Vector Graphics)圖表。

參考資料

https://www.jellythink.com/archives/483

https://blog.csdn.net/macky0668/article/details/6839525

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 命令行選項 -A:所有報告的總和-b:顯示I/O和傳遞速率的統(tǒng)計信息-B:顯示換頁狀態(tài)-d:輸出每一塊磁盤的使用信...
    佛系小懶閱讀 2,446評論 0 2
  • linux是當(dāng)前在服務(wù)器領(lǐng)域最成功操作系統(tǒng),不僅性能卓越,安全性高,更重要的是提供了一套完善的監(jiān)控機(jī)制,來檢測系統(tǒng)...
    劉建會閱讀 1,702評論 0 2
  • 一:命令介紹:參考資料:http://linux.die.net/man/1/sar 用法: sar [ 選項 ]...
    SkTj閱讀 1,088評論 0 0
  • 如何用十條命令在一分鐘內(nèi)檢查Linux服務(wù)器性能 “ 如果你的Linux服務(wù)器突然負(fù)載暴增,報警短信快發(fā)爆你的手機(jī)...
    meng_philip123閱讀 694評論 0 19
  • 武大櫻花開遍了整個江城,老橋下的桃花也該飄了過半花園,成都想必近日也是陰雨連綿,這濕漉漉的天氣讓人著實不安,晚課后...
    volcano_ba43閱讀 224評論 0 0

友情鏈接更多精彩內(nèi)容