安裝
如果系統沒有該命令請安裝:
apt-get install sysstat yum install sysstat
安裝完畢:
vi /etc/default/sysstat ENABLED="true"
啟動這個工具來收集系統性能數據:
/etc/init.d/sysstat start
sar參數說明
-A 匯總所有的報告 -a 報告文件讀寫使用情況 -B 報告附加的緩存的使用情況 -b 報告緩存的使用情況 -c 報告系統調用的使用情況 -d 報告磁盤的使用情況 -g 報告串口的使用情況 -h 報告關於buffer使用的統計數據 -m 報告IPC消息隊列和信號量的使用情況 -n 報告命名cache的使用情況 -p 報告調頁活動的使用情況 -q 報告運行隊列和交換隊列的平均長度 -R 報告進程的活動情況 -r 報告沒有使用的內存頁面和硬盤塊 -u 報告CPU的利用率 -v 報告進程、i節點、文件和鎖表狀態 -w 報告系統交換活動狀況 -y 報告TTY設備活動狀況
sar使用建議
懷疑CPU存在瓶頸
sar -u
sar -q
懷疑內存存在瓶頸
sar -B sar -r sar -W
懷疑I/O存在瓶頸
sar -b sar -u sar -d
查看CPU使用率
sar -u 1 3
打印cpu使用率情況每秒打印一次,打印3次結束。
[root@IT-2 bin]# sar -u 1 3 Linux 2.6.32-504.el6.x86_64 (IT-2) 2015年11月05日 _x86_64_ (1 CPU) 17時13分28秒 CPU %user %nice %system %iowait %steal %idle 17時13分29秒 all 6.12 0.00 3.06 0.00 0.00 90.82 17時13分30秒 all 5.10 0.00 3.06 0.00 0.00 91.84 17時13分31秒 all 7.14 0.00 2.04 0.00 0.00 90.82 平均時間: all 6.12 0.00 2.72 0.00 0.00 91.16
各列的指標分別是:
%user
用戶模式下消耗的CPU時間的比例;
%nice
通過nice改變了進程調度優先級的進程,在用戶模式下消耗的CPU時間的比例
%system
系統模式下消耗的CPU時間的比例;
%iowait
CPU等待磁盤I/O導致空閑狀態消耗的時間比例;
%steal
利用Xen等操作系統虛擬化技術,等待其它虛擬CPU計算占用的時間比例;
%idle
CPU空閑時間比例;
查看平均負載
sar -q
查看運行隊列中的進程數、系統上的進程大小、平均負載。
[root@IT-2 bin]# sar -q 1 3 Linux 2.6.32-504.el6.x86_64 (IT-2) 2015年11月05日 _x86_64_ (1 CPU) 17時16分42秒 runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15 17時16分43秒 4 338 0.00 0.00 0.00 17時16分44秒 4 338 0.00 0.00 0.00 17時16分45秒 4 338 0.00 0.00 0.00 平均時間: 4 338 0.00 0.00 0.00
runq-sz:運行隊列的長度(等待運行的進程數)
plist-sz:進程列表中進程(processes)和線程(threads)的數量
ldavg-1:最后1分鍾的系統平均負載
ldavg-5:過去5分鍾的系統平均負載
ldavg-15:過去15分鍾的系統平均負載
查看內存使用狀況
sar -r
可查看物理內存使用狀況。
[root@IT-2 bin]# sar -r 1 3 Linux 2.6.32-504.el6.x86_64 (IT-2) 2015年11月05日 _x86_64_ (1 CPU) 17時18分11秒 kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit 17時18分12秒 328708 1593664 82.90 35708 254300 2193348 26.70 17時18分13秒 328708 1593664 82.90 35716 254296 2193348 26.70 17時18分14秒 328708 1593664 82.90 35716 254300 2193348 26.70 平均時間: 328708 1593664 82.90 35713 254299 2193348 26.70
kbmemfree:這個值和free命令中的free值基本一致,所以它不包括buffer和cache的空間.
kbmemused:這個值和free命令中的used值基本一致,所以它包括buffer和cache的空間.
%memused:物理內存使用率,這個值是kbmemused和內存總量(不包括swap)的一個百分比.
kbbuffers和kbcached:這兩個值就是free命令中的buffer和cache.
kbcommit:保證當前系統所需要的內存,即為了確保不溢出而需要的內存(RAM+swap).
%commit:這個值是kbcommit與內存總量(包括swap)的一個百分比.
查看頁面交換發生狀況
sar -W
頁面發生交換時,服務器的吞吐量會大幅下降;服務器狀況不良時,如果懷疑因為內存不足而導致了頁面交換的發生,可以使用這個命令來確認是否發生了大量的交換;
[root@IT-2 bin]# sar -W 1 3 Linux 2.6.32-504.el6.x86_64 (IT-2) 2015年11月05日 _x86_64_ (1 CPU) 17時18分55秒 pswpin/s pswpout/s 17時18分56秒 0.00 0.00 17時18分57秒 0.00 0.00 17時18分58秒 0.00 0.00 平均時間: 0.00 0.00
pswpin/s:每秒系統換入的交換頁面(swap page)數量
pswpout/s:每秒系統換出的交換頁面(swap page)數量