linux性能調優工具

一、查看系統負載uptime

uptime
高亮顯示變化區域
watch -d uptim緩存

二、cpu性能分析工具mpstat


字段的含義工具

  • %user 在internal時間段裏,用戶態的CPU時間(%),不包含nice值爲負進程 (usr/total)*100
  • %nice 在internal時間段裏,nice值爲負進程的CPU時間(%) (nice/total)*100
  • %sys 在internal時間段裏,內核時間(%) (system/total)*100
  • %iowait 在internal時間段裏,硬盤IO等待時間(%) (iowait/total)*100
  • %irq 在internal時間段裏,硬中斷時間(%) (irq/total)*100
  • %soft 在internal時間段裏,軟中斷時間(%) (softirq/total)*100
  • %idle 在internal時間段裏,CPU除去等待磁盤IO操做外的由於任何緣由而空閒的時間閒置時間(%) (idle/total)*100
    mpstat -P ALL 5 #-P ALL表示監控全部cpu,後面數字5表示間隔5秒後輸出一組數據

三、進程性能分析工具pidstat

經常使用的參數:性能

  • -u:默認的參數,顯示各個進程的cpu使用統計
  • -r:顯示各個進程的內存使用統計
  • -d:顯示各個進程的IO使用狀況
  • -p:指定進程號
  • -w:顯示每一個進程的上下文切換狀況
  • -t:顯示選擇任務的線程的統計信息外的額外信息
  • -T { TASK | CHILD | ALL }
    這個選項指定了pidstat監控的。TASK表示報告獨立的task,CHILD關鍵字表示報告進程下全部線程統計信息。ALL表示報告獨立的task和task下面的全部線程。
    注意:task和子線程的全局的統計信息和pidstat選項無關。這些統計信息不會對應到當前的統計間隔,這些統計信息只有在子線程kill或者完成的時候纔會被收集。
  • -V:版本號
  • -h:在一行上顯示了全部活動,這樣其餘程序能夠容易解析。
  • -I:在SMP環境,表示任務的CPU使用率/內核數量
  • -l:顯示命令名和全部參數
    pidstat -u 5 1 #間隔5秒後輸出一組數據
    pidstat -w 5 #顯示每一個進程上下文切換狀況

字段說明:
cswch/s:表示每秒自願上下文切換的次數
nvcswch/s:表示非自願上下文切換的次數線程

四、對系統的總體狀況進行統計工具vmstat

參數說明:
Procs(進程):
r:運行隊列中進程數量
b:等待IO的進程數量
Memory(內存):
swpd: 使用虛擬內存大小
free: 可用內存大小
buff: 用做緩衝的內存大小
cache: 用做緩存的內存大小
Swap:
si: 每秒從交換區寫到內存的大小
so: 每秒寫入交換區的內存大小
IO:(如今的Linux版本塊的大小爲1024bytes)
bi: 每秒讀取的塊數
bo: 每秒寫入的塊數
系統:
in: 每秒中斷數,包括時鐘中斷。【interrupt】
cs: 每秒上下文切換數。 【count/second】
CPU(以百分比表示):
us: 用戶進程執行時間(user time)
sy: 系統進程執行時間(system time)
id: 空閒時間(包括IO等待時間),中央處理器的空閒時間 。以百分比表示。
wa: 等待IO時間
備註:
若是r常常大於4,id常常少於40,表示cpu的負荷很重。
若是bi,bo長期不等於0,表示內存不足。
若是disk常常不等於0,且在b中的隊列大於3,表示io性能很差。code

相關文章
相關標籤/搜索