linux中sar命令怎么用
小編給大家分享一下linux中sar命令怎么用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
sar命令很簡單,它的參數(shù)主要分為四部分。其中,第二部分和第三、四部分,是可選的,也就是說,最終要的參數(shù),就剩下一個,那就是類型。這個參數(shù)的值非常的多,我們暫且放在一邊,看一下以上命令的簡單意義。
-
類型,也就是我們要獲取的是哪個類型的指標(biāo)數(shù)據(jù),這里的-n,代表的是監(jiān)控一些網(wǎng)絡(luò)信息
-
類型參數(shù),有的類型帶有參數(shù),有的沒有。這里的DEV,代表的是監(jiān)控網(wǎng)卡信息
-
時間間隔,表示多少秒采樣一次數(shù)據(jù),這里的1就是1秒
-
次數(shù),表示采樣的次數(shù)。比如時間間隔是3,采樣次數(shù)是4,那么sar命令將會阻塞12秒鐘
我們來看小小偷窺一下它的輸出。
#sar-nDEV1203:10:29PMIFACErxpck/stxpck/srxkB/stxkB/srxcmp/stxcmp/srxmcst/s%ifutil03:10:30PMlo30.0030.002.092.090.000.000.000.0003:10:30PMeth06.002.000.380.320.000.000.000.0003:10:30PMIFACErxpck/stxpck/srxkB/stxkB/srxcmp/stxcmp/srxmcst/s%ifutil03:10:31PMlo39.0039.002.952.950.000.000.000.0003:10:31PMeth011.0012.000.725.260.000.000.000.00Average:IFACErxpck/stxpck/srxkB/stxkB/srxcmp/stxcmp/srxmcst/s%ifutilAverage:lo33.0033.002.382.380.000.000.000.00Average:eth09.338.330.602.390.000.000.000.00
非常非常規(guī)整的二維數(shù)組,不像top命令那種張狂的顯示(top -b -n 1可以輸出當(dāng)前信息)。可以很方便的使用sed,awk這樣的工具進(jìn)行處理。
了解這命令構(gòu)成的各個部分,我們就可以放心大膽的來看具體的參數(shù),都有哪些了。能不能抓到這只猹,在此一舉。
之所以說sar命令,站在鄙視鏈的頂端,那是因為它的參數(shù)是非常豐富的。我們再也不需要各種iostat、top、vmstat等五花八門的命令,只需要一個sar,就能統(tǒng)一天下。
Linux下的資源監(jiān)控,不外乎下面幾種。有磁盤、CPU、網(wǎng)絡(luò)、內(nèi)存、IO等。不好意思,sar都能監(jiān)控到,就是這么目空一切。
接下來,我們就來漫游一小把。
1. CPU信息
我們就先從cpu信息開始說起。作為計算機(jī)的大腦,作為一個指揮者,我們要監(jiān)控它的一舉一動。實際上,對于CPU有下面三種監(jiān)控。
(1)利用率,使用sar -u,我們看下它的執(zhí)行結(jié)果。可以看到每種類型的使用情況,和top命令種的意義,是一樣的。
#sar-u1103:37:39PMCPU%user%nice%system%iowait%steal%idle03:37:40PMall0.250.500.500.000.0098.75Average:all0.250.500.500.000.0098.75
(2)負(fù)載,使用sar -q,同樣的,和top的參數(shù)意義是相似的。除了load值,它還顯示了等待隊列的長度,對于排查排隊問題非常有幫助。
#sar-q1103:40:15PMrunq-szplist-szldavg-1ldavg-5ldavg-15blocked03:40:16PM04680.020.040.000Average:04680.020.040.000
(3)中斷,使用sar -I,注意i是大寫的。由于有不同的換算方式,所以中斷的參數(shù),分為默認(rèn)、SUM、ALL等。
#sar-ISUM1203:44:36PMINTRintr/s03:44:37PMsum1118.0003:44:38PMsum1024.00Average:sum1071.00
(4)上下文切換,使用sar -w,它經(jīng)常與監(jiān)控swap交換分區(qū)的使用情況的sar -W搞混,所以要注意。
#sar-w104:08:33PMproc/scswch/s04:08:34PM0.001686.00
2. 內(nèi)存信息
看完了CPU就再看內(nèi)存。CPU跑滿了機(jī)器可能表現(xiàn)就是慢點,內(nèi)存跑滿了可是要死人的。
內(nèi)存主要是分為下面這些部分,我們平常監(jiān)控的,主要是物理內(nèi)存、虛擬內(nèi)存、內(nèi)核等。
(1)內(nèi)存利用率,使用sar -r命令。有些sar版本可能會有sar -R,但一般小寫的就夠了。
#sar-r1103:48:39PMkbmemfreekbavailkbmemused%memusedkbbufferskbcachedkbcommit%commitkbactivekbinactkbdirty03:48:40PM16638842650804605769278.4501001040695442890.064915476582184100Average:16638842650804605769278.4501001040695442890.064915476582184100
(2)swap交換分區(qū)。對于swap分區(qū)來說,就可以使用sar -S。效果如下。如果想要看交換分區(qū)的使用情況(非容量情況),就要切換到sar -W命令。
#sar-S1104:05:22PMkbswpfreekbswpused%swpusedkbswpcad%swpcad04:05:23PM000.0000.00Average:000.0000.00
(3)內(nèi)核使用情況,主要是使用sar -v命令。v一般在別的命令中用作版本展示,sar命令用來輸出slab區(qū)的一些信息,可以說是特立獨(dú)行,不走尋常路。
#sar-v104:10:17PMdentunusdfile-nrinode-nrpty-nr04:10:18PM1151353776111146304:10:19PM1151453776111151304:10:20PM11514937761111553
(4)sar還能監(jiān)控到內(nèi)存分頁信息,它有一個牛x的名字sar -B,來看看它的效果。
#sar-B04:15:39PMpgpgin/spgpgout/sfault/smajflt/spgfree/spgscank/spgscand/spgsteal/s%vmeff04:15:40PM20.0010.000.000.001.000.000.000.000.0004:15:41PM16.000.000.000.000.000.000.000.000.0004:15:42PM20.00186.000.000.000.000.000.000.000.00
3. I/O信息
IO信息監(jiān)控,同樣是一個響亮的sar -b,不過這里的b,變成了小寫的。
#sar-b1204:17:25PMtpsrtpswtpsbread/sbwrtn/s04:17:26PM6.004.002.0032.0023.0004:17:27PM5.005.000.0048.000.00Average:5.504.501.0040.0011.50
如果你要找問題,就要配合著iowait去找了。
你可能會說,這里面的輸出,才有5個選項,完全沒有iostat輸出的多!有個鳥用?這是因為你還沒用到sar -d,我們來看他的效果。呵呵,就是個iostat的翻版啊。
#sar-d104:18:47PMDEVtpsrkB/swkB/sareq-szaqu-szawaitsvctm%util04:18:48PMdev253-04.0016.000.004.000.000.501.750.7004:18:49PMdev253-05.0084.000.0016.800.000.601.800.90
4. 網(wǎng)絡(luò)信息
接下來,我們看最復(fù)雜的網(wǎng)絡(luò)信息。說它復(fù)雜,是因為它的參數(shù)非常的多,比如上面說到的DEV,就表示的網(wǎng)絡(luò)流量。
-
DEV 網(wǎng)卡
-
EDEV 網(wǎng)卡 (錯誤)
-
NFS NFS 客戶端
-
NFSD NFS 服務(wù)器
-
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)
要命的是,這些參數(shù)的每個輸出,還都不是一樣的。可能是26個字母已經(jīng)無法涵蓋這么多參數(shù)了吧,所以sar命令統(tǒng)一把它加在了sar -n下面。好在我們平常使用的時候,只和DEV參數(shù)打交道既可以了。
5. 如何安裝
我們介紹過各種linux命令,像什么top、vmstat、mpstat、iostat...等等等等。
經(jīng)過我們上面的介紹。發(fā)現(xiàn),這些都不行。要數(shù)能力強(qiáng),還得看sar命令。
sar(System ActivityReporter)是Linux最為全面的系統(tǒng)性能分析工具,可以監(jiān)控CPU、內(nèi)存、網(wǎng)絡(luò)、I/O、文件讀寫、系統(tǒng)調(diào)用等各種資源,算是一個萬能的小能手。
sar命令同樣是sysstat工具包里的命令,如果你無法執(zhí)行,需要像下面這樣安裝。
yuminstallsysstat
sar對比top這樣的命令,有一個非常大的優(yōu)勢,那就是可以顯示歷史指標(biāo)。
所以你剛開始安裝以后,嘗試執(zhí)行sar。結(jié)果報錯了。
[root@localhost~]#sarCannotopen/var/log/sa/sa08:Nosuchfileordirectory
這就需要等一小會兒再執(zhí)行,因為現(xiàn)在它還沒有數(shù)據(jù)。一切面包牛奶,都會有的。
Endsar命令是可以看到歷史記錄的。那這些文件存在哪呢?我們可以在/var/log/sa目錄下找到它們。但可惜的是,vim打開這些文件,是亂碼!
可以使用下面的命令導(dǎo)出它們。后面的數(shù)字,一般是當(dāng)天的日期。
sar-A-f/var/log/sa/sa21>monitor
這個monitor文件,我們可以使用圖形化的工具打開,也可以使用文本編輯器打開。這里以kSar為例(一個java便攜的GUI),選擇載入monitor文件,即可出現(xiàn)下面的效果。
有了sar這個強(qiáng)大的命令,你就可以對系統(tǒng)的參數(shù)了如指掌。和sar命令比起來,其他的命令可真的是渣。第一是因為sar能看到歷史,第二是因為sar功能強(qiáng)大。但那些命令即使是渣,我也用的很歡。原因也有兩個,一個就是用習(xí)慣了,不想換;另外一個,就是那么牛x的sar命令,參數(shù)實在是有點反人類,真的不好記憶。
總結(jié)
以上是生活随笔為你收集整理的linux中sar命令怎么用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Web pack misc
- 下一篇: webpack devServer