Linux sar命令詳解之分析系統(tǒng)性能案例
sar 命令很強大,是分析系統(tǒng)性能的重要工具之一,通過該命令可以全面地獲取系統(tǒng)的 CPU、運行隊列、磁盤讀寫(I/O)、分區(qū)(交換區(qū))、內(nèi)存、CPU 中斷和網(wǎng)絡(luò)等性能數(shù)據(jù)。
sar 命令的基本格式如下:
[root@localhost ~]# sar [options] [-o filename] interval [count]
此命令格式中,各個參數(shù)的含義如下:
- -o filename:其中,filename 為文件名,此選項表示將命令結(jié)果以二進制格式存放在文件中;
- interval:表示采樣間隔時間,該參數(shù)必須手動設(shè)置;
- count:表示采樣次數(shù),是可選參數(shù),其默認(rèn)值為 1;
- options:為命令行選項,由于 sar 命令提供的選項很多,這里不再一一介紹,僅列舉出常用的一些選項及對應(yīng)的功能,如表 1 所示。
sar命令選項 | 功能 |
---|---|
-A | 顯示系統(tǒng)所有資源設(shè)備(CPU、內(nèi)存、磁盤)的運行狀況。 |
-u | 顯示系統(tǒng)所有 CPU 在采樣時間內(nèi)的負(fù)載狀態(tài)。 |
-P | 顯示當(dāng)前系統(tǒng)中指定 CPU 的使用情況。 |
-d | 顯示系統(tǒng)所有硬盤設(shè)備在采樣時間內(nèi)的使用狀態(tài)。 |
-r | 顯示系統(tǒng)內(nèi)存在采樣時間內(nèi)的使用情況。 |
-b | 顯示緩沖區(qū)在采樣時間內(nèi)的使用情況。 |
-v | 顯示 inode 節(jié)點、文件和其他內(nèi)核表的統(tǒng)計信息。 |
-n | 顯示網(wǎng)絡(luò)運行狀態(tài),此選項后可跟 DEV(顯示網(wǎng)絡(luò)接口信息)、EDEV(顯示網(wǎng)絡(luò)錯誤的統(tǒng)計數(shù)據(jù))、SOCK(顯示套接字信息)和 FULL(等同于使用 DEV、EDEV和SOCK)等,有關(guān)更多的選項,可通過執(zhí)行 man sar 命令查看。 |
-q | 顯示運行列表中的進程數(shù)、進程大小、系統(tǒng)平均負(fù)載等。 |
-R | 顯示進程在采樣時的活動情況。 |
-y | 顯示終端設(shè)備在采樣時間的活動情況。 |
-w | 顯示系統(tǒng)交換活動在采樣時間內(nèi)的狀態(tài)。 |
有關(guān) sar 命令更多可用的選項及功能,可通過執(zhí)行 man sar 命令查看。
【例 1】
如果想要查看系統(tǒng) CPU 的整理負(fù)載狀況,每 3 秒統(tǒng)計一次,統(tǒng)計 5 次,可以執(zhí)行如下命令:
[root@localhost ~]# sar -u 3 5 Linux 2.6.32-431.el6.x86_64 (localhost) 10/25/2019 _x86_64_ (1 CPU) 06:18:23 AM CPU %user %nice%system%iowait %steal %idle 06:18:26 AM all 12.110.002.773.110.00 82.01 06:18:29 AM all6.550.002.070.000.00 91.38 06:18:32 AM all6.600.002.080.000.00 91.32 06:18:35 AM all 10.210.001.760.000.00 88.03 06:18:38 AM all8.710.001.740.000.00 89.55 Average: all8.830.002.090.630.00 88.46
此輸出結(jié)果中,各個列表項的含義分別如下:
- %user:用于表示用戶模式下消耗的 CPU 時間的比例;
- %nice:通過 nice 改變了進程調(diào)度優(yōu)先級的進程,在用戶模式下消耗的 CPU 時間的比例;
- %system:系統(tǒng)模式下消耗的 CPU 時間的比例;
- %iowait:CPU 等待磁盤 I/O 導(dǎo)致空閑狀態(tài)消耗的時間比例;
- %steal:利用 Xen 等操作系統(tǒng)虛擬化技術(shù),等待其它虛擬 CPU 計算占用的時間比例;
- %idle:CPU 空閑時間比例。
【例 2】
如果想要查看系統(tǒng)磁盤的讀寫性能,可執(zhí)行如下命令:
[root@localhost ~]# sar -d 3 5 Linux 2.6.32-431.el6.x86_64 (localhost) 10/25/2019 _x86_64_ (1 CPU) 06:36:52 AM DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util 06:36:55 AM dev8-03.380.00 502.26 148.440.08 24.114.561.54 06:36:55 AM DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util 06:36:58 AM dev8-01.490.00 29.85 20.000.001.750.750.11 06:36:58 AM DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util 06:37:01 AM dev8-0 68.266.96 53982.61 790.933.22 47.233.54 24.17 06:37:01 AM DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util 06:37:04 AM dev8-0 111.693961.29 154.84 36.851.059.423.44 38.43 06:37:04 AM DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util 06:37:07 AM dev8-01.67 136.002.67 83.200.016.206.001.00 Average: DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util Average: dev8-0 34.45 781.109601.22 301.360.78 22.743.50 12.07
此輸出結(jié)果中,各個列表頭的含義如下:
- tps:每秒從物理磁盤 I/O 的次數(shù)。注意,多個邏輯請求會被合并為一個 I/O 磁盤請求,一次傳輸?shù)拇笮∈遣淮_定的;
- rd_sec/s:每秒讀扇區(qū)的次數(shù);
- wr_sec/s:每秒寫扇區(qū)的次數(shù);
- avgrq-sz:平均每次設(shè)備 I/O 操作的數(shù)據(jù)大小(扇區(qū));
- avgqu-sz:磁盤請求隊列的平均長度;
- await:從請求磁盤操作到系統(tǒng)完成處理,每次請求的平均消耗時間,包括請求隊列等待時間,單位是毫秒(1 秒=1000 毫秒);
- svctm:系統(tǒng)處理每次請求的平均時間,不包括在請求隊列中消耗的時間;
- %util:I/O 請求占 CPU 的百分比,比率越大,說明越飽和。
除此之外,如果想要查看系統(tǒng)內(nèi)存使用情況,可以執(zhí)行sar -r 5 3命令;如果要想查看網(wǎng)絡(luò)運行狀態(tài),可執(zhí)行sar -n DEV 5 3命令,等等。有關(guān)其它參數(shù)的用法,這里不再給出具體實例,有興趣的讀者可自行測試,觀察運行結(jié)果。
到此這篇關(guān)于Linux sar命令詳解之分析系統(tǒng)性能案例的文章就介紹到這了,更多相關(guān)Linux sar命令內(nèi)容請搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持本站!
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。