2012年3月1日 星期四

Linux運維不可不知的性能監控和調試工具(一)

sysstat組件,包含了:sar,iostat,mpstat,pidstat,nfsiostat 等命令 wget http://pagesperso-orange.fr/sebastien.godard/sysstat-10.0.3.tar.gz tar zxvf sysstat-10.0.3.tar.gz cd sysstat-10.0.3/ ./configure –enable-install-cron && make && sudo make install 1 sar 主要用來監控系統即時性能(CPU,記憶體,I / O等),以及在一個持續的基礎上上,在後臺性能資料收集並分析歷史資料,以確定瓶頸問題 1 所有CPU的CPU使用率 dongwm@linux-b8lh:~/sysstat-10.0.3> sar -u 1 3 Linux 2.6.37.6-0.7-default (linux-b8lh) 2011年12月14日 _i686_ (4 CPU) 09時23分00秒 CPU %user %nice %system %iowait %steal %idle 09時23分01秒 all 23.87 0.00 3.27 0.00 0.00 72.86 09時23分02秒 all 22.94 0.00 2.49 0.00 0.00 74.56 09時23分03秒 all 23.50 0.00 3.00 2.00 0.00 71.50 平均時間: all 23.44 0.00 2.92 0.67 0.00 72.98 • sar -u 顯示CPU使用率,目前每天收集到這一點。 • sar -u 1 3顯示即時CPU使用率每隔1秒,3次。 • sar -u ALL 1 3“和 “sar -u 1 3”相同,還顯示了附加 欄位。 • sar -u -f /var/log/sa/sa10 顯示sa10檔中10天的CPU使用率。 2 單個CPU或核心的CPU使用率 dongwm@linux-b8lh:~/sysstat-10.0.3> sar -P ALL 1 1 Linux 2.6.37.6-0.7-default (linux-b8lh) 2011年12月14日 _i686_ (4 CPU) 09時27分08秒 CPU %user %nice %system %iowait %steal %idle 09時27分09秒 all 24.31 0.00 2.51 0.00 0.00 73.18 09時27分09秒 0 34.00 0.00 4.00 0.00 0.00 62.00 09時27分09秒 1 47.00 0.00 3.00 0.00 0.00 50.00 09時27分09秒 2 12.00 0.00 1.00 0.00 0.00 87.00 09時27分09秒 3 4.00 0.00 2.00 0.00 0.00 94.00 平均時間: CPU %user %nice %system %iowait %steal %idle 平均時間: all 24.31 0.00 2.51 0.00 0.00 73.18 平均時間: 0 34.00 0.00 4.00 0.00 0.00 62.00 平均時間: 1 47.00 0.00 3.00 0.00 0.00 50.00 平均時間: 2 12.00 0.00 1.00 0.00 0.00 87.00 • sar -P ALL 顯示當天所有核心CPU使用率。 • sar -P ALL 1 3 即時顯示的時間為每1秒3次的所有核心的CPU使用率。 • sar -P 1,顯示當前日期的CPU數1使用。 • sar- P 1 1 3 即時顯示的時間為核心的數字1,每1秒3次的CPU使用率。 • sar -P ALL –f / var/log/sa/sa10顯示CPU使用率,和上面解釋類似 3 記憶體使用和空閒 dongwm@linux-b8lh:~/sysstat-10.0.3> sar -r 1 3 #表示即時顯示的時間為每1秒,3次的記憶體情況 Linux 2.6.37.6-0.7-default (linux-b8lh) 2011年12月14日 _i686_ (4 CPU) 09時31分59秒 kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact 09時32分00秒 1282240 1991048 60.83 189256 979120 2308156 42.93 1091840 771404 09時32分01秒 1284348 1988940 60.76 189256 979120 2304796 42.87 1089208 771404 09時32分02秒 1282364 1990924 60.82 189272 979112 2308156 42.93 1091828 771412 平均時間: 1282984 1990304 60.80 189261 979117 2307036 42.91 1090959 771407 4 交換分區的使用情況 dongwm@linux-b8lh:~/sysstat-10.0.3> sar -S 1 3 #表示即時顯示的時間為每1秒,3次的sawp使用情況 Linux 2.6.37.6-0.7-default (linux-b8lh) 2011年12月14日 _i686_ (4 CPU) 09時33分26秒 kbswpfree kbswpused %swpused kbswpcad %swpcad 09時33分27秒 2011680 91612 4.36 3076 3.36 09時33分28秒 2011680 91612 4.36 3076 3.36 09時33分29秒 2011680 91612 4.36 3076 3.36 平均時間: 2011680 91612 4.36 3076 3.36 5 I/O狀態 #表示即時顯示的時間為每1秒3次的I/O使用情況 dongwm@linux-b8lh:~/sysstat-10.0.3> sar -b 1 3 Linux 2.6.37.6-0.7-default (linux-b8lh) 2011年12月14日 _i686_ (4 CPU) 09時35分43秒 tps rtps wtps bread/s bwrtn/s 09時35分44秒 2.00 0.00 2.00 0.00 32.00 09時35分45秒 97.00 0.00 97.00 0.00 1192.00 09時35分46秒 6.00 0.00 6.00 0.00 144.00 平均時間: 35.00 0.00 35.00 0.00 456.00 6 單個dev設備的I/O狀態 dongwm@linux-b8lh:~/sysstat-10.0.3> sar -d 1 3 注:也可以顯示成sda,sdb這樣的形式: dongwm@linux-b8lh:~/sysstat-10.0.3> sar -p -d 1 3 7 顯示每秒的上下文切換 dongwm@linux-b8lh:~/sysstat-10.0.3> sar -w 1 3 8 報告運行佇列和平均負載(個人最喜歡) dongwm@linux-b8lh:~/sysstat-10.0.3> sar -q 1 3 Linux 2.6.37.6-0.7-default (linux-b8lh) 2011年12月14日 _i686_ (4 CPU) 09時41分02秒 runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15 blocked 09時41分03秒 0 416 0.25 0.26 0.39 0 09時41分04秒 0 416 0.25 0.26 0.39 0 09時41分05秒 1 416 0.25 0.26 0.39 0 平均時間: 0 416 0.25 0.26 0.39 0 注:blocked顯示目前封鎖和等待I / O操作完成的任務數量 9 報告網路統計資訊 sar -n KEYWORD KEYWORD可能是DEV(比如eth0,eth1),NFS,SOCK,IP,TCP.ICMP,UDP,ALL等值 dongwm@linux-b8lh:~/sysstat-10.0.3> sar -n DEV 1 1 Linux 2.6.37.6-0.7-default (linux-b8lh) 2011年12月14日 _i686_ (4 CPU) 09時45分12秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s 09時45分13秒 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 09時45分13秒 eth0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 09時45分13秒 eth3 8.00 0.00 1.73 0.00 0.00 0.00 0.00 09時45分13秒 vmnet1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 09時45分13秒 vmnet8 0.00 0.00 0.00 0.00 0.00 0.00 0.00 平均時間: IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s 平均時間: lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 平均時間: eth0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 平均時間: eth3 8.00 0.00 1.73 0.00 0.00 0.00 0.00 平均時間: vmnet1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 平均時間: vmnet8 0.00 0.00 0.00 0.00 0.00 0.00 0.00 10 sadc 的意思是“系統活動資料收集”。 這是sar的後端工具,它的資料收集。 sa1 存儲系統的活動,二進位資料檔。 為此,SA1取決於sadc。 SA1從cron運行。例如,如果今天是26號,SA1寫入到/ var/log/sa/sa26,這文件是二進位檔案 sa2 創建每日匯總收集的統計資訊。 SA2從cron運行。創建的檔是一個ASCII檔,可以在文字編輯器編輯。 sadf 可以生成CSV,XML和其他各種格式特區的報告。 使用此與其他工具相結合的SAR資料。 設計定時任務: cat /etc/cron.d/sysstat */10 * * * * root /usr/local/lib/sa/sa1 1 1 53 23 * * * root /usr/local/lib/sa/sa2 -A 2 iostat 顧名思義,這個會生成CPU,I / O統計 dongwm@linux-b8lh:~> iostat Linux 2.6.37.6-0.7-default (linux-b8lh) 2011年12月14日 _i686_ (4 CPU) avg-cpu: %user %nice %system %iowait %steal %idle 26.46 0.00 2.10 0.45 0.00 70.99 Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn sda 7.15 52.35 71.16 4660976 6335976 注:使用特定盤的實現 可以這樣 iostat -p sda 3 mpstat 主要報告處理器統計 dongwm@linux-b8lh:~> mpstat -I ALL -u -P ALL 4 vmstat 報告虛擬記憶體統計資訊 dongwm@linux-b8lh:~> vmstat 1 3 #這個命令很常用了 表示即時顯示一秒鐘,三次然後自動停止 procs ———–memory———- —swap– —–io—- -system– —–cpu—— r b swpd free buff cache si so bi bo in cs us sy id wa st 2 0 91596 1222220 195704 1036060 0 0 13 18 17 98 26 2 71 0 0 0 0 91596 1221344 195712 1036092 0 0 0 84 1871 5774 9 2 88 1 0 0 0 91596 1221228 195712 1036092 0 0 0 108 1987 6060 18 3 79 0 0 5 pidstat #進程性能監測,這個我很喜歡,因為他是vmstat,top,iostat的一個結合: pidstat -d 1 #列出當前 active 進程的 io dongwm@linux-b8lh:~> pidstat -d 1 -p $(pidof gnome-terminal) #單個進程的狀態,這裡是gnome終端 Linux 2.6.37.6-0.7-default (linux-b8lh) 2011年12月14日 _i686_ (4 CPU) 10時04分06秒 PID kB_rd/s kB_wr/s kB_ccwr/s Command 10時04分07秒 9428 0.00 0.00 0.00 gnome-terminal 10時04分08秒 9428 0.00 0.00 0.00 gnome-terminal 10時04分09秒 9428 0.00 0.00 0.00 gnome-terminal 10時04分10秒 9428 0.00 0.00 0.00 gnome-terminal dongwm@linux-b8lh:~> pidstat -r -p $(pidof WebQQ增強版) 1 #單個進程記憶體使用情況 Linux 2.6.37.6-0.7-default (linux-b8lh) 2011年12月14日 _i686_ (4 CPU) 10時05分27秒 PID minflt/s majflt/s VSZ RSS %MEM Command 10時05分28秒 24090 21133.00 0.00 654272 246492 7.53 WebQQ增強版 10時05分29秒 24090 18880.00 0.00 654272 246492 7.53 WebQQ增強版 dongwm@linux-b8lh:~> pidstat -u -p $(pidof WebQQ增強版) 1 #單個進程CPU使用情況 Linux 2.6.37.6-0.7-default (linux-b8lh) 2011年12月14日 _i686_ (4 CPU) 10時06分01秒 PID %usr %system %guest %CPU CPU Command 10時06分02秒 24090 67.00 5.00 0.00 72.00 1 WebQQ增強版 10時06分03秒 24090 64.00 4.00 0.00 68.00 1 WebQQ增強版

沒有留言: