sar效能監視命令-實時監控CPU
sar是UNIX系統中比較傳統的效能監視工具,也是系統管理員用於監視系統效能的首選工具之一。sar是System Activity Report的簡寫,它主要收集、顯示和儲存系統的活動資訊,包括CPU效率、記憶體使用狀況、系統呼叫的使用、檔案的讀寫情況、程式活動及IPC有關活動等。在這些功能中,sar最常用於監視CPU和記憶體的使用情況。
一、實時觀察和顯示以前收集資料
當sar命令沒有指定取樣間隔和取樣次數時,將從-f引數指定的檔案中讀取系統資料,如果也沒有使用-f引數,則從當天的資料檔案(/var/adm/sa/sadd,dd是指當天的日子)中讀取資料。
-f引數說明:
-f File :從指定檔案讀取記錄,檔名由File引數指定,這個檔案是由帶-o引數的sar命令建立的。預設檔名是當天的資料檔案(/var/adm/sa/sadd,dd是指當天的日子)。
-o引數說明:
-o File :將從系統中獲取統計資訊以二進位制格式儲存在指定的檔案中,由File引數指定檔名。統計資訊按記錄存放,每一條記錄包含著獲取的時間。
sar命令有兩種獲取系統統計資料的方式:一種是實時地觀察系統活動的資料,另一種顯示以前收集的系統資料。當在使用sar命令時指定了Interval和Number引數就會實時地獲得系統的統計資料;當沒有指定Interval和Number引數或者指定了-f引數,則顯示以前由sadc命令收集的系統統計資料。
sar命令實質上也是呼叫sadc命令。當執行sar命令時,會在後臺執行一個/usr/lib/sa/sadc程式,sar命令將sadc程式收集到的二進位制資料轉換成文字格式,然後顯示出來,或者直接將sadc程式產生的二進位制資料儲存到某一個檔案中。
本文只介紹實時監視。
二、分析CPU的活動
CPU的活動狀態主要體現在忙與閒上,即在任意時刻它只能是空閒和繁忙中的兩種狀態之一。當CPU忙時,它可以是處在使用者模式下,執行使用者的應用程式,也可以是處在系統模式下,執行系統核心程式。當CPU空閒時,有可能是正在等待I/O操作,有可能處於純粹的空閒狀態(沒有I/O操作請求)。
示例:
每隔2秒採集一次CPU活動的資料,總共採集10次。
# sar 2 10
AIX servera 3 4 000922044C00 07/17/02
11:06:21 %usr %sys %wio %idle
11:06:23 21 2 0 76
11:06:25 17 1 0 82
11:06:27 13 1 0 86
11:06:29 12 0 0 88
11:06:31 0 0 0 100
11:06:33 11 0 0 89
11:06:35 13 0 0 89
11:06:37 14 1 0 85
11:06:39 13 1 0 86
11:06:41 13 0 0 86
Average 13 1 0 86
sar命令執行結果的第一列是採集資料的時刻,其餘各列是一些系統指標。
l %usr表示CPU處在使用者模式下的時間,即CPU花在使用者應用程式上的時間百分比。
l %sys表示CPU處於系統模式下的時間,即CPU花在核心程式上的時間百分比。
l %wio表示CPU為等待磁碟I/O完成而空閒的時間百分比。
l %idle表示CPU純粹地處於空閒狀態的百分比,即也沒有磁碟I/O請求。
在sar命令顯示的CPU報告中,%usr+%sys+%wio+%idle=100%。一般情況下,%usr和%sys對系統的影響並不大,如果當%usr+%sys的值接近100%,則說明CPU的利用已達到極限,就可能要考慮增加CPU的個數。如果%usr明顯地大於%sys,則說明使用者的應用程式佔用CPU時間太多了,可能要考慮優化應用程式,或者增加CPU的個數。
平時應保持%wio值不能太高。如果%wio值過高(若超過75%),則CPU花在等待磁碟I/O上的時間太多,CPU的執行可能會在等待磁碟I/O上被阻塞,因而磁碟I/O成為系統效能的瓶頸。磁碟I/O可能是由資料庫的讀寫操作或由檔案訪問引起的。如果沒有足夠的記憶體會引起頁面排程過分頻繁,這樣也會產生大量的磁碟I/O。對於資料庫讀寫操作,就需要優化資料在磁碟上的分佈,儘可能地使用資料讀操作達到併發,也可以採用條帶化邏輯卷的分佈策略;對於頁面排程頻繁,就需要建立多個頁面空間,並將其分佈在不同的物理磁碟上。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25744374/viewspace-1096859/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- IO實時監控命令iostat詳解iOS
- Mysql效能監控視覺化MySql視覺化
- 幾個常用的linux效能監控命令Linux
- ☕[JVM效能專題](1)效能監控-命令列工具JVM命令列
- WGCLOUD實時視覺化監控 使用監測FTP和SFTP教程GCCloud視覺化FTP
- 前端效能監控前端
- php效能監控PHP
- Prometheus+Grafana實現服務效能監控:windows主機監控、Spring Boot監控、Spring Cloud Alibaba Seata監控PrometheusGrafanaWindowsSpring BootCloud
- 記憶體CPU監控記憶體
- Linux中監控系統效能常用的命令!Linux
- 進行Linux效能監控的命令介紹Linux
- Mac上如何實時監控CPU溫度和風扇速度Mac
- 在Ubuntu上使用Netdata設定實時效能監控Ubuntu
- 實時監控系統,統一監控企業APIAPI
- APM效能監控軟體的監控型別服務及監控流程型別
- 磁碟IO效能監控
- Linux 效能監控工具Linux
- Performance --- 前端效能監控ORM前端
- MySQL sys效能監控MySql
- 效能監控調優
- TiDB監控實現--存活監控TiDB
- GoldenGate GGSCI監控命令Go
- 常用的4個伺服器效能監控命令伺服器
- 監控java程式啟動時的CPU使用情況Java
- Java生產環境效能監控與調優—基於JDK命令列工具的監控JavaJDK命令列
- Windows效能計數器監控實踐Windows
- App監控和效能優化實戰APP優化
- 【JVM進階之路】八:效能監控工具-命令列篇JVM命令列
- RunLoop實戰:實時卡頓監控OOP
- 011.MongoDB效能監控MongoDB
- mysql效能監控相關MySql
- iOS網路效能監控iOS
- Sentry Web 效能監控 - MetricsWeb
- webrtc-streamer實時播放監控Web
- 監控 redis 執行命令Redis
- 如何使用 Glances 命令監控
- win10 cpu溫度監控怎麼用_如何使用win10 cpu溫度監控Win10
- Hystrix 監控視覺化頁面——Dashboard 流監控視覺化
- 一種對雲主機進行效能監控的監控系統及其監控方法