您好,登錄后才能下訂單哦!
今天這篇文章是給大家分享一些云計算開發教程,今天講解的是:運維工程師必會技能--sar。
SAR是系統活動報告(System Activity Report)英文單詞的首字母縮寫。正如它的名字所表示的那樣,SAR是一個在Unix和Linux操作系統中用來收集、報告和保存CPU、內存、輸入輸出端口使用情況的命令。SAR命令可以動態產生報告,也可以把報告保存在日志文件中。
如果你沒有安裝該軟件包,可以使用下面一條命令來安裝它。
[root@localhost ~]# yum install sysstat
啟動sadc(system activity data collector)服務(sysstat),這樣報告就會被寫入到日志文件“/var/log/sa/saDD”中并且已經存在的文檔將會被歸檔。DD表示當前日期。
[root@localhost ~]# systemctl start sysstat
[root@localhost ~]# systemctl enable sysstat
它每隔10分鐘收集一次數據并且每天形成一份報告。
sar命令的使用
sar命令常用格式
sar [options] [-A] [-o file] t [n]
其中:
t為采樣間隔,n為采樣次數,默認值是1;
-o file表示將命令結果以二進制格式存放在文件中,file 是文件名。
查看CPU使用率
sar -u : 默認情況下顯示的cpu使用率等信息就是sar -u
查看平均負載
sar -q: 查看平均負載
指定-q后,就能查看運行隊列中的進程數、系統上的進程大小、平均負載等;與其它命令相比,它能查看各項指標隨時間變化的情況;
runq-sz:運行隊列的長度(等待運行的進程數)
plist-sz:進程列表中進程(processes)和線程(threads)的數量
ldavg-1:最后1分鐘的系統平均負載 ldavg-5:過去5分鐘的系統平均負載
ldavg-15:過去15分鐘的系統平均負載
網絡流量
sar -n DEV 網卡
IFACE 表示設備名稱
rxpck/s 每秒接收的包的數量
txpck/s 每秒發出的包的數量
rxKB/s 每秒接收的數據量,單位KByte 1KB=1000byte=8000bit
txKB/s 每秒發出的數據量,單位KByte
若服務器丟包非常嚴重,需要查看網卡流量是否異常。接收數據部分 rxpck大于4000,或者rxKB大于5000,則有可能被攻擊了,正常服務器網卡流量沒有這么大。除非自己在拷貝數據。
計算實際速度,取 rxkb或txkb的峰值,換算成KB,比如是686KByte,然后用686*8/1000=5.4MBit
Bytes 字節,縮寫為B 【電腦硬盤的最小單位】
bit 位, 1Byte=8bit 【網絡中最小的單位】
bps =bit per second 每秒位數
pps =package per second 每秒數據包 Mb ,Gb,10Gb
10Gb=10000Mb 【電腦中1GB=1024MB,網絡中1Gb=1000Mb】
寬帶10Mb,下載速度是1.25MB,10Mb=10Mbit 10Mbit/8=1.25Mbyte=1.25MB
查看內存使用狀況
sar -r: 指定-r之后,可查看物理內存使用狀況;
kbmemfree:這個值和free命令中的free值基本一致,所以它不包括buffer和cache的空間.
kbmemused:這個值和free命令中的used值基本一致,所以它包括buffer和cache的空間.
%memused:物理內存使用率,這個值是kbmemused和內存總量(不包括swap)的一個百分比.
kbbuffers和kbcached:這兩個值就是free命令中的buffer和cache.
kbcommit:保證當前系統所需要的內存,即為了確保不溢出而需要的內存(RAM+swap).
%commit:這個值是kbcommit與內存總量(包括swap)的一個百分比.
查看頁面交換發生狀況
sar -W:查看頁面交換發生狀況
頁面發生交換時,服務器的吞吐量會大幅下降;服務器狀況不良時,如果懷疑因為內存不足而導致了頁面交換的發生,可以使用這個命令來確認是否發生了大量的交換;
pswpin/s:每秒系統換入的交換頁面(swap page)數量
pswpout/s:每秒系統換出的交換頁面(swap page)數量
sar的綜合使用
要判斷系統瓶頸問題,有時需幾個 sar 命令選項結合起來;
懷疑CPU存在瓶頸,可用 sar -u 和 sar -q 等來查看
懷疑內存存在瓶頸,可用sar -B、sar -r 和 sar -W 等來查看
懷疑I/O存在瓶頸,可用 sar -b、sar -u 和 sar -d 等來查看
其他sar參數說明
-A 匯總所有的報告
-a 報告文件讀寫使用情況
-B 報告附加的緩存的使用情況
-b 報告緩存的使用情況
-c 報告系統調用的使用情況
-d 報告磁盤的使用情況
-g 報告串口的使用情況
-h 報告關于buffer使用的統計數據
-m 報告IPC消息隊列和信號量的使用情況
-n 報告命名cache的使用情況
-p 報告調頁活動的使用情況
-q 報告運行隊列和交換隊列的平均長度
-R 報告進程的活動情況
-r 報告沒有使用的內存頁面和硬盤塊
-u 報告CPU的利用率
-v 報告進程、i節點、文件和鎖表狀態
-w 報告系統交換活動狀況
-y 報告TTY設備活動狀況
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。