小編給大家分享一下linux中sar命令怎么用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
創(chuàng)新互聯(lián)自2013年起,先為防城等服務(wù)建站,防城等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為防城企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
sar命令很簡單,它的參數(shù)主要分為四部分。其中,第二部分和第三、四部分,是可選的,也就是說,最終要的參數(shù),就剩下一個(gè),那就是類型。這個(gè)參數(shù)的值非常的多,我們暫且放在一邊,看一下以上命令的簡單意義。
類型,也就是我們要獲取的是哪個(gè)類型的指標(biāo)數(shù)據(jù),這里的-n,代表的是監(jiān)控一些網(wǎng)絡(luò)信息
類型參數(shù),有的類型帶有參數(shù),有的沒有。這里的DEV,代表的是監(jiān)控網(wǎng)卡信息
時(shí)間間隔,表示多少秒采樣一次數(shù)據(jù),這里的1就是1秒
次數(shù),表示采樣的次數(shù)。比如時(shí)間間隔是3,采樣次數(shù)是4,那么sar命令將會(huì)阻塞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
非常非常規(guī)整的二維數(shù)組,不像top命令那種張狂的顯示(top -b -n 1可以輸出當(dāng)前信息)??梢院芊奖愕氖褂胹ed,awk這樣的工具進(jìn)行處理。
了解這命令構(gòu)成的各個(gè)部分,我們就可以放心大膽的來看具體的參數(shù),都有哪些了。能不能抓到這只猹,在此一舉。
之所以說sar命令,站在鄙視鏈的頂端,那是因?yàn)樗膮?shù)是非常豐富的。我們再也不需要各種iostat、top、vmstat等五花八門的命令,只需要一個(gè)sar,就能統(tǒng)一天下。
Linux下的資源監(jiān)控,不外乎下面幾種。有磁盤、CPU、網(wǎng)絡(luò)、內(nèi)存、IO等。不好意思,sar都能監(jiān)控到,就是這么目空一切。
接下來,我們就來漫游一小把。
1. CPU信息
我們就先從cpu信息開始說起。作為計(jì)算機(jī)的大腦,作為一個(gè)指揮者,我們要監(jiān)控它的一舉一動(dòng)。實(shí)際上,對于CPU有下面三種監(jiān)控。
(1)利用率,使用sar -u,我們看下它的執(zhí)行結(jié)果??梢钥吹矫糠N類型的使用情況,和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)負(fù)載,使用sar -q,同樣的,和top的參數(shù)意義是相似的。除了load值,它還顯示了等待隊(duì)列的長度,對于排查排隊(duì)問題非常有幫助。
# 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是大寫的。由于有不同的換算方式,所以中斷的參數(shù),分為默認(rèn)、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,它經(jīng)常與監(jiān)控swap交換分區(qū)的使用情況的sar -W搞混,所以要注意。
# sar -w 1 04:08:33 PM proc/s cswch/s 04:08:34 PM 0.00 1686.00
2. 內(nèi)存信息
看完了CPU就再看內(nèi)存。CPU跑滿了機(jī)器可能表現(xiàn)就是慢點(diǎn),內(nèi)存跑滿了可是要死人的。
內(nèi)存主要是分為下面這些部分,我們平常監(jiān)控的,主要是物理內(nèi)存、虛擬內(nèi)存、內(nèi)核等。
(1)內(nèi)存利用率,使用sar -r命令。有些sar版本可能會(huì)有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交換分區(qū)。對于swap分區(qū)來說,就可以使用sar -S。效果如下。如果想要看交換分區(qū)的使用情況(非容量情況),就要切換到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)內(nèi)核使用情況,主要是使用sar -v命令。v一般在別的命令中用作版本展示,sar命令用來輸出slab區(qū)的一些信息,可以說是特立獨(dú)行,不走尋常路。
# 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還能監(jiān)控到內(nèi)存分頁信息,它有一個(gè)牛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信息監(jiān)控,同樣是一個(gè)響亮的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去找了。
你可能會(huì)說,這里面的輸出,才有5個(gè)選項(xiàng),完全沒有iostat輸出的多!有個(gè)鳥用?這是因?yàn)槟氵€沒用到sar -d,我們來看他的效果。呵呵,就是個(gè)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. 網(wǎng)絡(luò)信息
接下來,我們看最復(fù)雜的網(wǎng)絡(luò)信息。說它復(fù)雜,是因?yàn)樗膮?shù)非常的多,比如上面說到的DEV,就表示的網(wǎng)絡(luò)流量。
DEV 網(wǎng)卡
EDEV 網(wǎng)卡 (錯(cuò)誤)
NFS NFS 客戶端
NFSD NFS 服務(wù)器
SOCK Sockets (套接字) (v4)
IP IP 流 (v4)
EIP IP 流 (v4) (錯(cuò)誤)
ICMP ICMP 流 (v4)
EICMP ICMP 流 (v4) (錯(cuò)誤)
TCP TCP 流 (v4)
ETCP TCP 流 (v4) (錯(cuò)誤)
UDP UDP 流 (v4)
SOCK6 Sockets (套接字) (v6)
IP6 IP 流 (v6)
EIP6 IP 流 (v6) (錯(cuò)誤)
ICMP6 ICMP 流 (v6)
EICMP6 ICMP 流 (v6) (錯(cuò)誤)
UDP6 UDP 流 (v6)
要命的是,這些參數(shù)的每個(gè)輸出,還都不是一樣的??赡苁?6個(gè)字母已經(jīng)無法涵蓋這么多參數(shù)了吧,所以sar命令統(tǒng)一把它加在了sar -n下面。好在我們平常使用的時(shí)候,只和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)用等各種資源,算是一個(gè)萬能的小能手。
sar命令同樣是sysstat工具包里的命令,如果你無法執(zhí)行,需要像下面這樣安裝。
yum install sysstat
sar對比top這樣的命令,有一個(gè)非常大的優(yōu)勢,那就是可以顯示歷史指標(biāo)。
所以你剛開始安裝以后,嘗試執(zhí)行sar。結(jié)果報(bào)錯(cuò)了。
[root@localhost ~]# sar Cannot open /var/log/sa/sa08: No such file or directory
這就需要等一小會(huì)兒再執(zhí)行,因?yàn)楝F(xiàn)在它還沒有數(shù)據(jù)。一切面包牛奶,都會(huì)有的。
Endsar命令是可以看到歷史記錄的。那這些文件存在哪呢?我們可以在/var/log/sa目錄下找到它們。但可惜的是,vim打開這些文件,是亂碼!
可以使用下面的命令導(dǎo)出它們。后面的數(shù)字,一般是當(dāng)天的日期。
sar -A -f /var/log/sa/sa21 > monitor
這個(gè)monitor文件,我們可以使用圖形化的工具打開,也可以使用文本編輯器打開。這里以kSar為例(一個(gè)java便攜的GUI),選擇載入monitor文件,即可出現(xiàn)下面的效果。
有了sar這個(gè)強(qiáng)大的命令,你就可以對系統(tǒng)的參數(shù)了如指掌。和sar命令比起來,其他的命令可真的是渣。第一是因?yàn)閟ar能看到歷史,第二是因?yàn)閟ar功能強(qiáng)大。但那些命令即使是渣,我也用的很歡。原因也有兩個(gè),一個(gè)就是用習(xí)慣了,不想換;另外一個(gè),就是那么牛x的sar命令,參數(shù)實(shí)在是有點(diǎn)反人類,真的不好記憶。
以上是“l(fā)inux中sar命令怎么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!