一.簡單介紹html
1.安裝軟件 #yum install sysstat [root@node1 sa]# rpm -ql sysstat /etc/cron.d/sysstat /etc/rc.d/init.d/sysstat /etc/sysconfig/sysstat /etc/sysconfig/sysstat.ioconf /usr/bin/cifsiostat /usr/bin/iostat ... 2.安裝sysstat包後,默認建立一個/etc/cron.d/sysstat文件,其默認內容爲 [root@node1 sa]# cat /etc/cron.d/sysstat # 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 在 cron 任務 /etc/cron.d/sysstat 中每隔10分鐘執行一次 /usr/lib/sa/sa1 在 cron 任務 /etc/cron.d/sysstat 中天天 23:53執行一次 /usr/lib/sa/sa2 3.主要命令 在/usr/lib64/sa目錄下有三個文件: sa1 sa2 sadc sa1:是調用sadc(二進制文件),將數據收集到二進制日誌文件的一個Shell腳本。sa1命令還確保天天使用不一樣的文件。每隔十分鐘運行一次該命令,最好不要改這個值,這是對通常系統折中的值。二進制日誌文件存放在/var/log/sa/目錄下,命名爲sa${DATE}。 sa2:是將當日二進制日誌文件中全部的數據轉儲到文本文件(sar)的另外一個Shell腳本,而後它將清除七天以前的全部日誌文件。參數-A指定了從二進制文件中提取哪些數據轉儲到文本文件中。轉儲的文件存放在/var/log/sa/目錄下,命名爲sar${DATE}。 文件 /var/log/sa/saDD 爲二進制文件,不能使用more、less 等文本工具查看,必須用 sar 或 sadf 命令查看 文件 /var/log/sa/sarDD 爲文本文件,可使用more,cat 查看
二.查看cpu信息
java
1.進程隊列長度和平均負載狀態監控: #每5s採樣一次,連續採樣10次,監控進程隊列長度和平均負載狀態 [root@node1 sa]# sar -q 5 10 Linux 2.6.32-642.el6.x86_64 (node1) 07/12/2017 _x86_64_ (4 CPU) 08:44:50 PM runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15 08:44:55 PM 0 182 0.00 0.01 0.04 08:45:00 PM 0 182 0.00 0.01 0.04 08:45:05 PM 0 182 0.00 0.01 0.04 08:45:10 PM 0 182 0.00 0.01 0.04 08:45:15 PM 0 182 0.00 0.01 0.04 08:45:20 PM 0 182 0.00 0.01 0.04 .... runq-sz: 運行隊列的長度(等待運行的進程數) plist-sz:進程列表中進程(processes)和線程(threads)的數量 ldavg-1: 最近1分鐘的系統平均負載(Systemload average) ldavg-5: 過去5分鐘的系統平均負載 ldavg-15:過去15分鐘的系統平均負載 2.CPU資源監控 [root@node1 sa]# sar -u 1 10 Linux 2.6.32-642.el6.x86_64 (node1) 07/12/2017 _x86_64_ (4 CPU) 08:47:45 PM CPU %user %nice %system %iowait %steal %idle 08:47:46 PM all 0.00 0.00 0.99 0.00 0.00 99.01 08:47:47 PM all 0.00 0.00 1.25 0.00 0.00 98.75 08:47:48 PM all 0.00 0.00 1.74 0.00 0.00 98.26 08:47:49 PM all 0.25 0.00 1.49 0.00 0.00 98.26 08:47:50 PM all 0.00 0.00 1.25 0.00 0.00 98.75 08:47:51 PM all 0.00 0.00 1.50 0.00 0.00 98.50 ... 輸出項說明: CPU:all #表示統計信息爲全部 CPU 的平均值。 %user #顯示在用戶級別(application)運行使用 CPU 總時間的百分比。 %nice #顯示在用戶級別,用於nice操做,所佔用 CPU 總時間的百分比。 %system #在覈心級別(kernel)運行所使用 CPU 總時間的百分比。 %iowait #顯示用於等待I/O操做佔用 CPU 總時間的百分比。 %steal #管理程序(hypervisor)爲另外一個虛擬進程提供服務而等待虛擬 CPU 的百分比。 %idle #顯示CPU空閒時間佔用CPU總時間的百分比。 若 %iowait 的值太高,表示硬盤存在I/O瓶頸 若 %idle 的值高但系統響應慢時,有多是 CPU 等待分配內存,此時應加大內存容量 若 %idle 的值持續低於 10,則系統的 CPU 處理能力相對較低,代表系統中最須要解決的資源是CPU。
三.查看磁盤I/O和傳送速率的統計信息node
[root@node1 sa]# sar -b 輸出項說明: tps #每秒鐘物理設備的 I/O 傳輸總量 rtps #每秒鐘從物理設備讀入的數據總量 wtps #每秒鐘向物理設備寫入的數據總量 bread/s #每秒鐘從物理設備讀入的數據量,單位爲 塊/s bwrtn/s #每秒鐘向物理設備寫入的數據量,單位爲 塊/s
四.查看內存信息linux
sar -r kbmemfree #空餘內存 kbmemused #使用內存 %memused #使用內存/總內存 kbbuffers buffer kbcached cache kbcommit #保證正常工做的內存,保證不會內存溢出 %commitkbcommit/(RAM+SWAP)
五.利用gnuplot工具對sa文件進行畫圖ios
1.安裝軟件gnuplot yum install gnuplot 2.對sa文件進行處理(取咱們想獲得的數據) LANG=C sar -f sa02 -q | grep -v "Average:" | awk 'NR>3 {print $0}' > /tmp/111 3.編輯腳本(重點) vim a.plt set xdata time #定義x軸數據格式 set timefmt '%H:%M:%S' #定義x軸單位格式 set xlabel 'Time' #定義顯示標籤 set format x '%H:%M:%S' set terminal png truecolor size 1600,900 set output "/var/www/html/1.png" set ylabel 'Load Avg' set yrange [0:] plot '/tmp/111' using 1:4 title '1min' with lines,'/tmp/111' using 1:5 title '5min' with lines,'/tmp/111' using 1:6 title '15min' with lines 4.執行腳本: gnuplot a.plt 5.查看結果: (1)ls /var/www/html/1.png #在此目錄下生成圖片 (2)在瀏覽器中打開 #驗證圖片
六.使用 ksar 工具分析系統性能vim
yum install java 下載包 wget export DISPLAY=192.168.193.1:0 sh run.sh
Ttansfer/s: 每秒從物理磁盤 I/O 的次數 . 多個邏輯請求會被合併爲一個 I/O 磁盤請求,一次傳輸的大小是不肯定的 .瀏覽器
Read/s: 每秒的讀請求數bash
Writer/s: 每秒的寫請求數app
Block bread/s: 每秒讀磁盤的數據塊數less
Block wrtn/s: 每秒寫磁盤的數據塊數
https://www.ibm.com/developerworks/cn/linux/1303_caojh_ksar/