經過sar命令,能夠全面地獲取系統的CPU、運行隊列、磁盤I/O、分頁(交換區)、內存、CPU中斷和網絡等性能數據。緩存
語法格式網絡
sar option interval counttcp
sar 選項 時間間隔 次數性能
說明:spa
1)在sar命令及後面的選項裏,每一個元素之間都至少要有一個空格。線程
2)interval表示兩次輸出之間的間隔時間。code
3)count表示按照interval指定的時間間隔統計的次數。blog
查看系統CPU的總體負載情況。索引
-A 顯示系統全部資源設備(CPU、內存、磁盤)的運行情況隊列
-u 顯示系統全部CPU在採樣時間內的負載狀態
-P 顯示當前系統中指定CPU的使用狀況
-d 顯示系統全部硬盤設備在採樣時間內的使用情況
-r 顯示在採樣時間內系統內存的使用情況
-b 顯示在採樣時間內緩衝區的使用狀況
-v 顯示索引節點、文件和其餘內核表的狀態
-n 顯示網絡運行狀態
-q 顯示運行隊列的大小,它與系統當時的平均負載相同
-R 顯示進程在採樣時間內的活動狀況
-y 顯示終端設備在採樣時間內的活動狀況
-w 顯示系統交換活動在採樣時間內的狀態
-o filename 將命令結果以二進制格式存放在文件中,filename是文件名
[root@lewen ~]# sar -u 2 3 Linux 3.10.0-957.el7.x86_64 (lewen) 2019年03月17日 _x86_64_ (1 CPU) 16時09分16秒 CPU %user %nice %system %iowait %steal %idle 16時09分18秒 all 0.00 0.00 0.50 0.00 0.00 99.50 16時09分20秒 all 0.00 0.00 0.00 0.00 0.00 100.00 16時09分22秒 all 0.50 0.00 0.50 0.00 0.00 99.00 平均時間: all 0.17 0.00 0.33 0.00 0.00 99.50 %user:用戶進程消耗的CPU時間百分比。 %nice:改變過優先級的進程佔用的CPU時間百分比。 %system:系統(內核)進程消耗的CPU時間百分比。 %iowait:IO等待所佔用的CPU時間百分比。 %steal:虛擬機強制CPU等待的時間百分比。 %idle:CPU處在空閒狀態的時間百分比。
[root@lewen ~]# sar -q 2 3 Linux 3.10.0-957.el7.x86_64 (lewen) 2019年03月17日 _x86_64_ (1 CPU) 16時25分06秒 runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15 blocked 16時25分08秒 0 316 0.00 0.01 0.05 0 16時25分10秒 0 316 0.00 0.01 0.05 0 16時25分12秒 0 316 0.00 0.01 0.05 0 平均時間: 0 316 0.00 0.01 0.05 0 runq-sz:運行隊列的長度(等待運行的進程數)。 plist-sz:進程列表中進程(process)和線程(thread)的數量。 ldavg-1:最後1分鐘的系統平均負載(system load average)。 ldavg-5:過去5分鐘的系統平均負載。 ldavg-15:過去15分鐘的系統平均負載。
[root@lewen ~]# sar -r 2 3 Linux 3.10.0-957.el7.x86_64 (lewen) 2019年03月17日 _x86_64_ (1 CPU) 16時29分54秒 kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact kbdirty 16時29分56秒 2794180 1232168 30.60 2108 643944 2014348 28.09 672264 297744 8 16時29分58秒 2794180 1232168 30.60 2108 643944 2014348 28.09 672268 297744 8 16時30分00秒 2794180 1232168 30.60 2108 643944 2014348 28.09 672268 297744 8 平均時間: 2794180 1232168 30.60 2108 643944 2014348 28.09 672267 297744 8 如下是命令結果的詳細說明。 kbmemfree:空閒物理內存量。 kbmemused:使用中的物理內存量。 %memused:物理內存量的使用率。 kbbuffers:內核中做爲緩衝區使用的物理內存容量。 kbcached:內核中做爲緩存使用的物理內存容量。 kbcommit:應用程序當前使用的內存大小。 %commit:應用程序當前使用的內存大小佔總大小的使用百分比。
[root@doit ~]# sar -b 2 3 Linux 4.20.0-1.el7.elrepo.x86_64 (doit) 03/17/2019 _x86_64_ (2 CPU) 04:33:47 PM tps rtps wtps bread/s bwrtn/s 04:33:49 PM 0.50 0.00 0.50 0.00 4.00 04:33:51 PM 0.00 0.00 0.00 0.00 0.00 04:33:53 PM 0.00 0.00 0.00 0.00 0.00 Average: 0.17 0.00 0.17 0.00 1.33 tps:每秒鐘物理設備的I/O傳輸總量。 rtps:每秒鐘從物理設備讀入的數據總量。 wtps:每秒鐘向物理設備寫入的數據總量。 bread/s:每秒鐘從物理設備讀入的數據量,單位爲塊/s。 bwrtn/s:每秒鐘向物理設備寫人的數據量,單位爲塊/s。
[root@doit ~]# sar -n DEV 2 3 Linux 4.20.0-1.el7.elrepo.x86_64 (doit) 03/17/2019 _x86_64_ (2 CPU) 04:35:59 PM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s 04:36:01 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:36:01 PM eth0 48.50 40.50 34.71 33.66 0.00 0.00 0.00 如下是命令結果的詳細說明。 IFACE:網絡接。 rxpck/s:每秒鐘接收的數據包。 txpck/s:每秒鐘發送的數據包。 rxkB/s:每秒鐘接收的字節數。 txkB/s:每秒鐘發送的字節數。 rxcmp/s:每秒鐘接收的壓縮數據包。 txcmp/s:每秒鐘發送的壓縮數據包。 rxmcst/s:每秒鐘接收的多播數據包。
下面的命令用來
[root@doit ~]# sar -n EDEV 2 3 Linux 4.20.0-1.el7.elrepo.x86_64 (doit) 03/17/2019 _x86_64_ (2 CPU) 04:39:26 PM IFACE rxerr/s txerr/s coll/s rxdrop/s txdrop/s txcarr/s rxfram/s rxfifo/s txfifo/s 04:39:28 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:39:28 PM eth0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 如下是命令結果的詳細說明。 IFACE:網絡接。 rxerr/s:每秒鐘接收的壞數據包。 txerr/s:每秒鐘發送的壞數據包。 coll/s:每秒的衝突數。 rxdrop/s:由於緩衝充滿,每秒鐘丟棄的已接收數據包數。 txdrop/s:由於緩衝充滿,每秒鐘丟棄的已發送數據包數。 txcarr/s:發送數據包時,每秒載波錯誤數。 rxfram/s:每秒接收數據包的幀對齊錯誤數。 rxfifo/s:接收的數據包每秒FIFO過速的錯誤數。 txfifo/s:發送的數據包每秒FIFO過速的錯誤數。
[root@doit ~]# sar -n SOCK 2 3 Linux 4.20.0-1.el7.elrepo.x86_64 (doit) 03/17/2019 _x86_64_ (2 CPU) 04:42:06 PM totsck tcpsck udpsck rawsck ip-frag tcp-tw 04:42:08 PM 101 5 3 0 0 2 04:42:10 PM 101 5 3 0 0 2 04:42:12 PM 101 5 3 0 0 2 Average: 101 5 3 0 0 2 如下是命令結果的詳細說明。 totsck:使用的套接字總數量。 tcpsck:使用的TCP套接字數量。 udpsck:使用的UDP套接字數量。 rawsck:使用的raw套接字數量。 ip-frag:使用的IP段數量。 tcp-tw:處於TIME_WAIT狀態的TCP套接字數量。
[root@doit ~]# sar -d 2 3 Linux 4.20.0-1.el7.elrepo.x86_64 (doit) 03/17/2019 _x86_64_ (2 CPU) 04:43:34 PM DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util 04:43:36 PM dev8-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:43:36 PM DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util 04:43:38 PM dev8-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:43:38 PM DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util 04:43:40 PM dev8-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 Average: DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util Average: dev8-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 如下是命令結果的詳細說明。 DEV:表示磁盤的設備名稱。 tps:表示該設備每秒的傳輸次數,「一次傳輸」的意思是「一次I/O請求」,多個邏輯請求可能會被合併爲「一次I/O請求」,「一次傳輸」請求的大小是未知的。 rd_sec/s:表示每秒從設備讀取的扇區數。 wr_sec/s;表示每秒寫入設備的扇區數目。 avgrq-sz:設備平均每次I/O操做的數據大小(扇區)。 avgqu-sz;平均I/0隊列長度。 await:設備平均每次1VO操做的等待時間(毫秒)。 svctm:設備平均每次I/O操做的服務時間(毫秒)。 %util:每秒鐘用於I/O操做的百分比。