Linux 監控系統效能工具-sar實務
主題: |
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進行安裝,安裝完成後可以有mpstat、iostat、sar、sa 工具可做系統監控
啟動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利用率,需要留意user、system、iowait。
• 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 #可用的空閒Memory(kilobytes)
kbmemused#已用的Memory(kilobytes)
%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值的大小會和磁碟效能有關;
但CPU、Memory的負擔也會對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