您好,登錄后才能下訂單哦!
小編給大家分享一下linux中sar命令怎么用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
sar命令很簡單,它的參數主要分為四部分。其中,第二部分和第三、四部分,是可選的,也就是說,最終要的參數,就剩下一個,那就是類型。這個參數的值非常的多,我們暫且放在一邊,看一下以上命令的簡單意義。
類型,也就是我們要獲取的是哪個類型的指標數據,這里的-n,代表的是監控一些網絡信息
類型參數,有的類型帶有參數,有的沒有。這里的DEV,代表的是監控網卡信息
時間間隔,表示多少秒采樣一次數據,這里的1就是1秒
次數,表示采樣的次數。比如時間間隔是3,采樣次數是4,那么sar命令將會阻塞12秒鐘
我們來看小小偷窺一下它的輸出。
# sar -n DEV 1 2 03:10:29 PM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s %ifutil 03:10:30 PM lo 30.00 30.00 2.09 2.09 0.00 0.00 0.00 0.00 03:10:30 PM eth0 6.00 2.00 0.38 0.32 0.00 0.00 0.00 0.00 03:10:30 PM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s %ifutil 03:10:31 PM lo 39.00 39.00 2.95 2.95 0.00 0.00 0.00 0.00 03:10:31 PM eth0 11.00 12.00 0.72 5.26 0.00 0.00 0.00 0.00 Average: IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s %ifutil Average: lo 33.00 33.00 2.38 2.38 0.00 0.00 0.00 0.00 Average: eth0 9.33 8.33 0.60 2.39 0.00 0.00 0.00 0.00
非常非常規整的二維數組,不像top命令那種張狂的顯示(top -b -n 1可以輸出當前信息)。可以很方便的使用sed,awk這樣的工具進行處理。
了解這命令構成的各個部分,我們就可以放心大膽的來看具體的參數,都有哪些了。能不能抓到這只猹,在此一舉。
之所以說sar命令,站在鄙視鏈的頂端,那是因為它的參數是非常豐富的。我們再也不需要各種iostat、top、vmstat等五花八門的命令,只需要一個sar,就能統一天下。
Linux下的資源監控,不外乎下面幾種。有磁盤、CPU、網絡、內存、IO等。不好意思,sar都能監控到,就是這么目空一切。
接下來,我們就來漫游一小把。
1. CPU信息
我們就先從cpu信息開始說起。作為計算機的大腦,作為一個指揮者,我們要監控它的一舉一動。實際上,對于CPU有下面三種監控。
(1)利用率,使用sar -u,我們看下它的執行結果。可以看到每種類型的使用情況,和top命令種的意義,是一樣的。
# sar -u 1 1 03:37:39 PM CPU %user %nice %system %iowait %steal %idle 03:37:40 PM all 0.25 0.50 0.50 0.00 0.00 98.75 Average: all 0.25 0.50 0.50 0.00 0.00 98.75
(2)負載,使用sar -q,同樣的,和top的參數意義是相似的。除了load值,它還顯示了等待隊列的長度,對于排查排隊問題非常有幫助。
# sar -q 1 1 03:40:15 PM runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15 blocked 03:40:16 PM 0 468 0.02 0.04 0.00 0 Average: 0 468 0.02 0.04 0.00 0
(3)中斷,使用sar -I,注意i是大寫的。由于有不同的換算方式,所以中斷的參數,分為默認、SUM、ALL等。
# sar -I SUM 1 2 03:44:36 PM INTR intr/s 03:44:37 PM sum 1118.00 03:44:38 PM sum 1024.00 Average: sum 1071.00
(4)上下文切換,使用sar -w,它經常與監控swap交換分區的使用情況的sar -W搞混,所以要注意。
# sar -w 1 04:08:33 PM proc/s cswch/s 04:08:34 PM 0.00 1686.00
2. 內存信息
看完了CPU就再看內存。CPU跑滿了機器可能表現就是慢點,內存跑滿了可是要死人的。
內存主要是分為下面這些部分,我們平常監控的,主要是物理內存、虛擬內存、內核等。
(1)內存利用率,使用sar -r命令。有些sar版本可能會有sar -R,但一般小寫的就夠了。
# sar -r 1 1 03:48:39 PM kbmemfree kbavail kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact kbdirty 03:48:40 PM 1663884 2650804 6057692 78.45 0 1001040 6954428 90.06 4915476 582184 100 Average: 1663884 2650804 6057692 78.45 0 1001040 6954428 90.06 4915476 582184 100
(2)swap交換分區。對于swap分區來說,就可以使用sar -S。效果如下。如果想要看交換分區的使用情況(非容量情況),就要切換到sar -W命令。
# sar -S 1 1 04:05:22 PM kbswpfree kbswpused %swpused kbswpcad %swpcad 04:05:23 PM 0 0 0.00 0 0.00 Average: 0 0 0.00 0 0.00
(3)內核使用情況,主要是使用sar -v命令。v一般在別的命令中用作版本展示,sar命令用來輸出slab區的一些信息,可以說是特立獨行,不走尋常路。
# sar -v 1 04:10:17 PM dentunusd file-nr inode-nr pty-nr 04:10:18 PM 115135 3776 111146 3 04:10:19 PM 115145 3776 111151 3 04:10:20 PM 115149 3776 111155 3
(4)sar還能監控到內存分頁信息,它有一個牛x的名字sar -B,來看看它的效果。
# sar -B 04:15:39 PM pgpgin/s pgpgout/s fault/s majflt/s pgfree/s pgscank/s pgscand/s pgsteal/s %vmeff 04:15:40 PM 20.00 10.00 0.00 0.00 1.00 0.00 0.00 0.00 0.00 04:15:41 PM 16.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:15:42 PM 20.00 186.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
3. I/O信息
IO信息監控,同樣是一個響亮的sar -b,不過這里的b,變成了小寫的。
# sar -b 1 2 04:17:25 PM tps rtps wtps bread/s bwrtn/s 04:17:26 PM 6.00 4.00 2.00 32.00 23.00 04:17:27 PM 5.00 5.00 0.00 48.00 0.00 Average: 5.50 4.50 1.00 40.00 11.50
如果你要找問題,就要配合著iowait去找了。
你可能會說,這里面的輸出,才有5個選項,完全沒有iostat輸出的多!有個鳥用?這是因為你還沒用到sar -d,我們來看他的效果。呵呵,就是個iostat的翻版啊。
# sar -d 1 04:18:47 PM DEV tps rkB/s wkB/s areq-sz aqu-sz await svctm %util 04:18:48 PM dev253-0 4.00 16.00 0.00 4.00 0.00 0.50 1.75 0.70 04:18:49 PM dev253-0 5.00 84.00 0.00 16.80 0.00 0.60 1.80 0.90
4. 網絡信息
接下來,我們看最復雜的網絡信息。說它復雜,是因為它的參數非常的多,比如上面說到的DEV,就表示的網絡流量。
DEV 網卡
EDEV 網卡 (錯誤)
NFS NFS 客戶端
NFSD NFS 服務器
SOCK Sockets (套接字) (v4)
IP IP 流 (v4)
EIP IP 流 (v4) (錯誤)
ICMP ICMP 流 (v4)
EICMP ICMP 流 (v4) (錯誤)
TCP TCP 流 (v4)
ETCP TCP 流 (v4) (錯誤)
UDP UDP 流 (v4)
SOCK6 Sockets (套接字) (v6)
IP6 IP 流 (v6)
EIP6 IP 流 (v6) (錯誤)
ICMP6 ICMP 流 (v6)
EICMP6 ICMP 流 (v6) (錯誤)
UDP6 UDP 流 (v6)
要命的是,這些參數的每個輸出,還都不是一樣的。可能是26個字母已經無法涵蓋這么多參數了吧,所以sar命令統一把它加在了sar -n下面。好在我們平常使用的時候,只和DEV參數打交道既可以了。
5. 如何安裝
我們介紹過各種linux命令,像什么top、vmstat、mpstat、iostat...等等等等。
經過我們上面的介紹。發現,這些都不行。要數能力強,還得看sar命令。
sar(System ActivityReporter)是Linux最為全面的系統性能分析工具,可以監控CPU、內存、網絡、I/O、文件讀寫、系統調用等各種資源,算是一個萬能的小能手。
sar命令同樣是sysstat工具包里的命令,如果你無法執行,需要像下面這樣安裝。
yum install sysstat
sar對比top這樣的命令,有一個非常大的優勢,那就是可以顯示歷史指標。
所以你剛開始安裝以后,嘗試執行sar。結果報錯了。
[root@localhost ~]# sar Cannot open /var/log/sa/sa08: No such file or directory
這就需要等一小會兒再執行,因為現在它還沒有數據。一切面包牛奶,都會有的。
Endsar命令是可以看到歷史記錄的。那這些文件存在哪呢?我們可以在/var/log/sa目錄下找到它們。但可惜的是,vim打開這些文件,是亂碼!
可以使用下面的命令導出它們。后面的數字,一般是當天的日期。
sar -A -f /var/log/sa/sa21 > monitor
這個monitor文件,我們可以使用圖形化的工具打開,也可以使用文本編輯器打開。這里以kSar為例(一個java便攜的GUI),選擇載入monitor文件,即可出現下面的效果。
有了sar這個強大的命令,你就可以對系統的參數了如指掌。和sar命令比起來,其他的命令可真的是渣。第一是因為sar能看到歷史,第二是因為sar功能強大。但那些命令即使是渣,我也用的很歡。原因也有兩個,一個就是用習慣了,不想換;另外一個,就是那么牛x的sar命令,參數實在是有點反人類,真的不好記憶。
以上是“linux中sar命令怎么用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。