linux 系統性能指標取樣指令碼
以下指令碼寫於redmine效能排查時,用於定位系統性能瓶頸的取樣,源地址為~/performanceLog/collectLog.sh中,計劃放入github的程式碼片段庫中.
注: 如果mysql的地址或者目錄更換,此指令碼中dstat 的mysql相關資料的採集需要重寫其外掛的mysql連線部分的程式碼。 注: 如果mysql的地址或者目錄有更換,又想使用以下指令碼採集資料,需要重寫其mysql連線部分的程式碼,才能讓指令碼中dstat 的mysql相關資料的採集正常獲取。
#!/bin/bash cd /home/pset/performanceLog/ #create dir fortoday 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:表示