1. 程式人生 > >linux 系統性能指標取樣指令碼

linux 系統性能指標取樣指令碼

以下指令碼寫於redmine效能排查時,用於定位系統性能瓶頸的取樣,源地址為~/performanceLog/collectLog.sh中,計劃放入github的程式碼片段庫中.


注: 如果mysql的地址或者目錄更換,此指令碼中dstat 的mysql相關資料的採集需要重寫其外掛的mysql連線部分的程式碼。 注: 如果mysql的地址或者目錄有更換,又想使用以下指令碼採集資料,需要重寫其mysql連線部分的程式碼,才能讓指令碼中dstat 的mysql相關資料的採集正常獲取。

#!/bin/bash
cd /home/pset/performanceLog/

#create dir for
today today=`date "+%Y%m%d"` if [ ! -d $today ]; then mkdir $today; fi cd $today #declare var to remember current hour. hour=`date "+%H"` echo "current hour is: "$hour postfix="_nohup.log" filenameOfDstat=$hour"_"$today"_dstat"$postfix".csv" echo $filenameOfDstat filenameOfIostat
=$hour"_"$today"_iostat"$postfix echo $filenameOfIostat filenameOfPidstat=$hour"_"$today"_pidstat"$postfix echo $filenameOfPidstat filenameOfFree=$hour"_"$today"_free"$postfix echo $filenameOfFree filenameOfMemInfo=$hour"_"$today"_meminfo"$postfix echo $filenameOfMemInfo filenameOfUptime
=$hour"_"$today"_Uptime"$postfix echo $filenameOfUptime filenameOfMpstat=$hour"_"$today"_mpstat"$postfix echo $filenameOfMpstat filenameOfIOtop=$hour"_"$today"_iotop"$postfix echo $filenameOfIOtop filenameOfSar=$hour"_"$today"_sar"$postfix echo $filenameOfSar #the process id which we are intrested in.: mysqld ruby.bin pidMysqld=`ps -e| grep mysqld.bin|awk 'NR==1 {print $1}'` pidRuby=`ps -e| grep ruby.bin|awk 'NR==1 {print $1}'` export DSTAT_MYSQL_USER='root' export DSTAT_MYSQL_PWD='1111' nohup dstat -t --mysql5-cmds --mysql5-io --mysql5-keys [email protected] -df --disk-util --disk --mem --proc --top-cpu --top-latency --top-bio --io --sys --filesystem --tcp --vm --output $filenameOfDstat 1 3600 & nohup pidstat -p $pidMysqld -u -d -w -h 2 1800 > $filenameOfPidstat & nohup mpstat -P ALL 2 1800 > $filenameOfMpstat & nohup iotop -p $pidMysqld -n 1800 -d 2 > $filenameOfIOtop & nohup iostat -dxk 2 1800 > $filenameOfIostat & #nohup sar -o $filenameOfSar 2 1800 & #nohup free > $filenameOfFree & #nohup cat /proc/meminfo > $filenameOfMemInfo & #nohup uptime > $filenameOfUptime & # in every day at april ,run the shell script at 1 min past each hour. #1 * * 4 * /root/shift_my_times.sh #1 * * 4 * /home/pset/performanceLog/collectLog.sh crontab設定成每小時啟動,並依照指令碼中設定的頻率採集資料: 1 0,4,10-23 * 4 * /home/pset/performanceLog/collectLogs.sh * * * 4 * /usr/local/bin/mycheckpoint --user=root --password=1111 --socket=/redmine/mysql/tmp/mysql.sock --database=mycheckpoint

產生此方案的關鍵系統指標展示:
pidstat:可以針對特定的程序,比如:mysql 或者其它程序
mpstat:用於檢視高峰時段某些cpu的idle是否異常。
dstat io:用於記錄每次採集的時間點,並統籌全域性的cpu  mem  io  net  mysql的指標資訊

相關頁面: http://www.cnblogs.com/ToDoToTry/p/4462609.html 

相關推薦

linux 系統性指標取樣指令碼

以下指令碼寫於redmine效能排查時,用於定位系統性能瓶頸的取樣,源地址為~/performanceLog/collectLog.sh中,計劃放入github的程式碼片段庫中. 注: 如果mysql的地址或者目錄更換,此指令碼中dstat 的mysql相關資料的採集需要重寫其外掛的mysql連線部分的

Shell腳本查看linux系統性瓶頸(轉)

all $1 rate inode orm ase entos awk memory Shell腳本查看linux系統性能瓶頸(轉自:http://blog.51cto.com/lizhenliang/1687612) [root@test ~]# cat show_sy

linux系統性監視高級命令(12個)

vmstat mpstat iostatlinux系統性能監視高級命令(12個)必須掌握 內存:vmstat mpstat iostat sar top freeCPU: vmstat mpstat iostat sar topI/O: vmstat mpstat iostat

Netdata---Linux系統性實時監控平臺部署記錄

監測 conf netfilter 濕度 bind gui 硬盤 charts cpu使用率 轉載:https://www.cnblogs.com/kevingrace/p/7300191.html 通常來說,作為一個Linux的SA,很有必要掌握一個專門的系統監控工具,以

Linux系統性調優之性分析

ios 狀況 CP data- lin raid5 生成 參考 .so 1.Linux性能分析的目的1)找出系統性能瓶頸(包括硬件瓶頸和軟件瓶頸);2)提供性能優化的方案(升級硬件?改進系統系統結構?);3)達到合理的硬件和軟件配置;4)使系統資源使用達到最大的平衡。(一般

系統性指標之 vmstat

執行 -cp pro 緩存 註意 CA 上下文 讀取 系統性能 系統性能指標 之 vmstat vmstat procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu----- r

Linux系統性監控工具nmon

org 部分 nbsp 監控工具 put linux服務 傳輸 sum 新的 一、簡介 nmon 工具可以幫助在一個屏幕上顯示所有重要的性能優化信息,並動態地對其進行更新。這個高效的工具可以工作於任何啞屏幕、telnet 會話、甚至撥號線路。另外,它並不會消耗大量的 CP

Linux系統性監控詳解

Linux中常用的監控CPU整體效能的工具有:  mpstat: mpstat 不但能檢視所有CPU的平均資訊,還能檢視指定CPU的資訊。  vmstat:只能檢視所有CPU的平均資訊;檢視cpu佇列資訊;  iostat: 只能檢視所有CPU的平均資訊。  sar: 與

33個Linux系統性監測利器

Linux下系統和網路效能監測是一項艱鉅的工作.我在前人總結的基礎上,推薦以下工具. 你總能從中發現一款適合你的,能有助你找到相關效能問題. 1 top 程序監控 cpu,memory,load,process 監控,按序排列cpu,memory,process

Linux系統性優化思路和方法

#影響Linux效能的CPU、記憶體、磁碟、網路等因素分析 1.系統硬體資源:CPU,多核與超執行緒 消耗CPU的業務:動態WEB服務,Mail伺服器 2.記憶體:實體記憶體與swap的取捨,64作業系統 消耗記憶體的業務:記憶體資料庫(Redis、hbase、mon

linux資源性指標

關註 sta 上下 eth 準備就緒 負載測試 直接 獲取 swa 1.cpu Running:正在運行的進程 Waiting:已準備就緒,等待運行的進程 Blocked:因為等待某些事件完成而阻塞的進程,通常在等待I/O 命令獲取數據: vmstat 1其中: us

linux 系統性方面的學習

1、 load average系統負載(system load) 是指系統CPU的繁忙的度量,即有多少程序在等待被CPU排程(程序等待佇列的長度)。平均負載(load average) 是一段時間內系統的平均負載,時間段一般取1分鐘,5分鐘,15分鐘1.1、檢視命令:top命

Linux系統性監控之平均負載(load average)

在前面的文章中介紹過使用w命令或uptime命令來檢視Linux系統的平均負載(Load avaerage),那麼平均負載處於什麼狀態算是正常呢?如果要根據平均負載來判斷系統的穩定性,又該如何界定?先來看一下基礎知識。 平均負載是指系統的執行佇列的平均利用率,也可以認為是可執行程序的平均數。 一般的

Linux系統性分析命令vmstat,iostat,sar使用詳解

當系統業務出現異常,需要對系統性能進行分析時,從何下手是個問題。因為效能分析是個很系統的問題,它可能是系統軟體層面的問題,也可能是底層硬體有異常,所以這些用於分析的命令側重點也有所不同,例如:vmstat/top則偏重於觀察系統程序的CPU和記憶體使用情況,而iostat則是檢查OS與儲存之間的IO

Linux系統性分析命令

效能分析工具 一、CPU效能 # vmstat 2 3    //間隔2秒,輸出3次 procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------  r  b   swpd   free   buff  ca

使用dstat檢查Linux系統性

Dstat提供了有關Linux系統性能的寶貴見解,幾乎取代了較舊的工具,如vmstat,netstat,iostat和ifstat。 想要對Linux系統進行快速效能檢查嗎? 您可能需要檢視dstat命令。 Dstat提供了有關Linux系統性能的寶貴見解,幾乎取代了一系列舊工具,如vmstat,netst

Linux系統性調優那些事兒

 一、前提 我們可以在文章的開始就列出一個列表,列出可能影響Linux作業系統效能的一些調優引數,但這樣做其實並沒有什麼價值。因為效能調優是一個非常困難的任務,它要求對硬體、作業系統、和應用都有著相當深入的瞭解。如果效能調優非常簡單的話,那些我們要列出的調優引數早就寫入硬體

linux 系統性 檢測 命令 atop

atop 主要可以 監測 cpu,記憶體,硬碟,網路效能,以及 實時讀寫 日誌。 基本用法  1.檢視  atop , 實時重新整理 按 a ,退出 按q 2.儲存日誌  atop -w log.txt 3.檢視 輸出日誌  atop -r log.txt , 按 t 檢視

linux 系統性壓測工具簡介

1.記憶體壓測工具 1.1 stressapptest 據谷歌的介紹,這個軟體會生產執行緒來拷貝和直接對磁碟進行讀取和寫入。目標則是儘可能地載入系統記憶體,以便更加有效地進行測試。該軟體更多的時候測

linux系統性監控常用命令

一、Linux伺服器效能關注點 1)CPU -> load:表示cpu在一段時間內正在處理以及等待處理的任務之和統計資訊,簡單可理解為cpu正處理的執行緒數和能同時處理的執行緒數的比值。一般認為load值的安全上限為cpu的個數 -> run queue:表示