linux sar 效能 performance

Linux 監控系統效能工具-sar實務

侯清慈(AlexHou) 2016/12/10 00:56:12
8639







主題

Linux 監控系統效能工具-sar實務

文章簡介:

系統效能歷程記錄之工具sar實務

作者:

侯清慈

版本/產出日期:

V1.0/2016.09.26




1. 前言

接續上則Linux 監控系統效能工具-sar簡介)並以實際案例說明.

sar工具可以顯示歷程記錄,包括CPU、記憶體、磁碟I/O、網路流量.

Linux系統管理是可以隨時監控系統的效能狀態;


2. 目的

了解sar指令的使用方法。

各實務類型效能分析參考


3. 開始前準備

本架構建立於RedHat 6.x版本的環境:

需已安裝sysstat系統分析套件. (一般安裝為已安裝該套件)

可使用 yum –y install sysstat進行安裝,安裝完成後可以有mpstatiostatsarsa 工具可做系統監控

啟動sysstat:

    root# /etc/init.d/sysstat start

設置systat自動啟動

    root# chkconfig sysstat on






4. 查詢案例

查看CPU使用狀況

# sar –P ALL 1 2 or sar –u 2 3

[root@ locathost]# sar -P ALL 1 2

Linux 2.6.32-358.el6.x86_64 (locathost) 09/26/2016 _x86_64_ (4 CPU)


03:54:50 PM CPU %user %nice %system %iowait %steal %idle

03:54:51 PM all 0.50 0.00 0.50 0.00 0.00 98.99

03:54:51 PM 0 1.01 0.00 0.00 0.00 0.00 98.99

03:54:51 PM 1 1.00 0.00 2.00 0.00 0.00 97.00

03:54:51 PM 2 0.00 0.00 0.00 0.00 0.00 100.00

03:54:51 PM 3 1.00 0.00 1.00 0.00 0.00 98.00


03:54:51 PM CPU %user %nice %system %iowait %steal %idle

03:54:52 PM all 0.75 0.00 0.75 1.00 0.00 97.49

03:54:52 PM 0 1.00 0.00 0.00 0.00 0.00 99.00

03:54:52 PM 1 0.00 0.00 0.00 0.00 0.00 100.00

03:54:52 PM 2 1.98 0.00 0.99 0.00 0.00 97.03

03:54:52 PM 3 0.00 0.00 0.00 3.06 0.00 96.94


Average: CPU %user %nice %system %iowait %steal %idle

Average: all 0.63 0.00 0.63 0.50 0.00 98.24

Average: 0 1.01 0.00 0.00 0.00 0.00 98.99

Average: 1 0.50 0.00 1.01 0.00 0.00 98.49

Average: 2 1.00 0.00 0.50 0.00 0.00 98.50

Average: 3 0.51 0.00 0.51 1.52 0.00 97.47

[root@locathost]# sar -u 2 3

Linux 2.6.32-358.el6.x86_64 (locathost) 09/26/2016 _x86_64_ (4 CPU)

03:56:12 PM CPU %user %nice %system %iowait %steal %idle

03:56:14 PM all 1.25 0.00 0.75 0.00 0.00 97.99

03:56:16 PM all 0.75 0.00 0.50 0.88 0.00 97.87

03:56:18 PM all 0.63 0.00 1.00 0.13 0.00 98.25

Average: all 0.88 0.00 0.75 0.33 0.00 98.04

-u為顯示的整體的情況.

-u ALL會顯示更多列的信息

-P可以分核心來顯示。


關於CPU利用率,需要留意usersystemiowait

user數值高: 表用戶執行的process佔了CPU的使用率

system數值高:表系統本身頻繁。

iowait值高:I/O,有I/O瓶頸問題。

steal數值一般只會出現在虛擬機,表被Hyperv之類拿去使用的時間。

idle數值:系統閒置百分比。如果idle數值高,但系統反應慢時,可能是CPU等待分配記憶體,此時建議加大記憶體容量;如果idle數值低(一般低於10,而CPU處理忙碌,表明系統中需要解決的資源是CPU;但現在的CPU大都是多核設計,也可能是軟體設計需要調整,使其充分、確實的使用所有的CPU核心。


記憶體相關

查看記憶體使用狀況.

# sar –r 3 2

[root@localhost]# sar -r 3 2

Linux 2.6.32-358.el6.x86_64 (localhost) 09/26/2016 _x86_64_ (4 CPU)

04:16:57 PM kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit

04:17:00 PM 764536 2943456 79.38 468496 588688 2976164 5.42

04:17:03 PM 764528 2943464 79.38 468496 588760 2976032 5.42

Average: 764532 2943460 79.38 468496 588724 2976098 5.42

kbmemfree #可用的空閒Memorykilobytes

kbmemused#已用的Memorykilobytes

%memused #使用Memory的百分比

kbbuffers#作為內核緩存區的被使用的Memory

kbcached #作為緩存數據的被使用的Memory

kbcommit #估算工作需要的Memory以保證不會Memory不足.

%commit #正在使用的Memory佔總Memory(RAM+swap)的的百分比

kbactive #活動的Memory

kbinact #不活動的Memory

# sar –R 2 4

[root@pps-csapi-stg2 tmp]# sar -R 2 4

Linux 2.6.32-358.el6.x86_64 (pps-csapi-stg2) 09/26/2016 _x86_64_ (4 CPU)

05:36:25 PM frmpg/s bufpg/s campg/s

05:36:27 PM 0.00 0.00 0.00

05:36:29 PM -15.58 0.00 0.00

05:36:31 PM -15.58 0.00 0.00

05:36:33 PM 0.00 0.00 0.00

Average: -7.77 0.00 0.00

frmpg/s 每秒系统中空閒的memory頁面(memory page freed)數量

bufpg/s 每秒系统中用作緩冲區(buffer)的附加内存頁面(additional memory page)數量

campg/s 每秒系统中高速缓存的附加memory頁面(additional memory pages cached)數量

查看swap使用狀況

[root@localhost]# sar -S 1 2

Linux 2.6.32-358.el6.x86_64 (localhost) 09/26/2016 _x86_64_ (4 CPU)

05:07:06 PM kbswpfree kbswpused %swpused kbswpcad %swpcad

05:07:07 PM 51144004 55988 0.11 7660 13.68

05:07:08 PM 51144004 55988 0.11 7660 13.68

Average: 51144004 55988 0.11 7660 13.68

kbswpfree #空閒的交換空間數(kilobytes

kbswpused #被使用的交換空間數

%swpused #使用的空間所佔的百分比

kbswpcad #用作Memory緩衝的交換(kilobytes

%swpcad #用作Memory緩衝的空間所佔總的已使用的交換空間的百分比



[root@localhost]# sar -W 1 2

Linux 2.6.32-358.el6.x86_64 (localhost) 09/26/2016 _x86_64_ (4 CPU)

05:15:49 PM pswpin/s pswpout/s

05:15:50 PM 0.00 0.00

05:15:51 PM 0.00 0.00

Average: 0.00 0.00

pswpin/s #每秒系統引入的交換頁

pswpout/s #每秒系統導出入的交換頁




I/O評估

# sar –d 4 2

[root@localhost]# sar -d 4 2

Linux 2.6.32-358.el6.x86_64 (localhost) 09/26/2016 _x86_64_ (4 CPU)

05:47:29 PM DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util

05:47:33 PM dev8-0 0.50 0.00 8.02 16.00 0.01 22.50 21.00 1.05

05:47:33 PM DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util

05:47:37 PM dev8-0 2.78 0.00 28.28 10.18 0.09 33.64 14.82 4.12

Average: DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util

Average: dev8-0 1.64 0.00 18.11 11.08 0.05 31.92 15.77 2.58

tps #每秒設備發出的傳輸總數。

rd_sec/s #從設備讀取的sectors

wr_sec/s #寫入設備的sectors

avgrq-sz #發給設備的請求的平均大小(in sectors)

avgqu-sz #發給設備的請求的平均queue長度

await #設備處理的I/O請求的平均時間(in milliseconds)

包含請求在隊列中的時間和處理它們的時間

svctm #每次設備I/O平均操作時間(毫秒)

%util #發給設備的I/O請求的時間佔用CPU時間的百分比


正常情况下svctm應該是小於await值的,而svctm值的大小會和磁碟效能有關;

CPUMemory的負擔也會對svctm值造成影響;還有過多的請求也間接導至svctm的值增加。

如果svctm的值與await很接近,表示磁碟效能很好,幾乎沒有I/O等待;

但若await的值遠高於svctm的值,則表示I/O的等待長,I/O的問題產生.

在%util的值也是衡量磁碟I/O的一個重要指標,

如果%util的接近100%,表示磁盤產生的I/O請求太多,I/O系統已經負荷很重的在工作,該儲存設備可能有瓶頸。

長期下去,勢必影響系統的性能,可以需要通過優化程序或者更換更好/更快的儲存設備來解決此問題。

NetWork:

-n { keyword [,...] | ALL } #網絡統計資訊(Possible keywords are DEV, EDEV, NFS, NFSD, SOCK, IP, EIP, ICMP, EICMP, TCP, ETCP, UDP, SOCK6, IP6, EIP6 ,ICMP6, EICMP6 and UDP6.)

# sar –n DEV 網路數據統計

[root@pps-csapi-stg2 tmp]# sar -n DEV 3 2

Linux 2.6.32-358.el6.x86_64 (pps-csapi-stg2) 09/26/2016 _x86_64_ (4 CPU)


05:55:33 PM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s

05:55:36 PM lo 11.11 11.11 3.35 3.35 0.00 0.00 0.00

05:55:36 PM wlan0 0.00 0.00 0.00 0.00 0.00 0.00 0.00

05:55:36 PM eth0 4.71 5.72 0.79 1.26 0.00 0.00 0.00


05:55:36 PM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s

05:55:39 PM lo 3.02 3.02 0.76 0.76 0.00 0.00 0.00

05:55:39 PM wlan0 0.00 0.00 0.00 0.00 0.00 0.00 0.00

05:55:39 PM eth0 5.70 6.38 1.36 0.90 0.00 0.00 0.00


Average: IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s

Average: lo 7.06 7.06 2.05 2.05 0.00 0.00 0.00

Average: wlan0 0.00 0.00 0.00 0.00 0.00 0.00 0.00

Average: eth0 5.21 6.05 1.08 1.08 0.00 0.00 0.00


# sar –n EDEV 網路錯誤數據統計

[root@pps-csapi-stg2 tmp]# sar -n EDEV 3 2

Linux 2.6.32-358.el6.x86_64 (pps-csapi-stg2) 09/26/2016 _x86_64_ (4 CPU)


05:56:40 PM IFACE rxerr/s txerr/s coll/s rxdrop/s txdrop/s txcarr/s rxfram/s rxfifo/s txfifo/s

05:56:43 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

05:56:43 PM wlan0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

05:56:43 PM eth0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00


05:56:43 PM IFACE rxerr/s txerr/s coll/s rxdrop/s txdrop/s txcarr/s rxfram/s rxfifo/s txfifo/s

05:56:46 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

05:56:46 PM wlan0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

05:56:46 PM eth0 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: wlan0 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

KeyWork list:

DEV #統計來自網絡設備的資訊

EDEV #統計從網絡設備錯誤資訊

NFS #關於NFS客戶端的活動狀態統計

NFSD #關於NFS服務端的活動狀態統計

SOCK #正在用的套接字的統計資訊

IP #關於IPv4的網絡流量的統計

EIP #關於IPv4網絡錯誤資訊的統計

ICMP #關於ICMPv4網絡流量的資訊統計

EICMP #關於ICMPv4錯誤資訊的統計

TCP #關於TCPv4的網絡流量的統計

ETCP#TCPv4的網絡錯誤的統計

UDP #UDPv4網絡流量的資訊統計

SOCK6 #正在用的SOCK的資訊(IPv6

IP6 #關於IPv6的網絡流量報告

EIP6 #IPv6網絡錯誤資訊

ICMP6 #ICMPv6網絡流量

EICMP6 #ICMPv6網絡錯誤

UDP6 #UDPv6網絡流量





5. 參考來源

Red Hat Enterprise Linux 的特定資訊

http://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-isa-zh_tw-4/s1-resource-rhlspec.html


監控Linux 系統效能狀況

http://www.lijyyh.com/2012/01/linux.html


Linux安裝systat

http://lxsym.blog.51cto.com/1364623/321440


Linux統計/監控工具

http://www.ctohome.com/FuWuQi/1b/688.html


侯清慈(AlexHou)