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ù),其默認值為 1;
- options:為命令行選項,由于 sar 命令提供的選項很多,這里不再一一介紹,僅列舉出常用的一些選項及對應(yīng)的功能,如表 1 所示。
表 1 sar 命令行選項及功能 sar命令選項 功能 -A 顯示系統(tǒng)所有資源設(shè)備(CPU、內(nèi)存、磁盤)的運行狀況。 -u 顯示系統(tǒng)所有 CPU 在采樣時間內(nèi)的負載狀態(tài)。 -P 顯示當前系統(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)平均負載等。 -R 顯示進程在采樣時的活動情況。 -y 顯示終端設(shè)備在采樣時間的活動情況。 -w 顯示系統(tǒng)交換活動在采樣時間內(nèi)的狀態(tài)。
有關(guān) sar 命令更多可用的選項及功能,可通過執(zhí)行 man sar 命令查看。
【例 1】
如果想要查看系統(tǒng) CPU 的整理負載狀況,每 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.11 0.00 2.77 3.11 0.00 82.01 06:18:29 AM all 6.55 0.00 2.07 0.00 0.00 91.38 06:18:32 AM all 6.60 0.00 2.08 0.00 0.00 91.32 06:18:35 AM all 10.21 0.00 1.76 0.00 0.00 88.03 06:18:38 AM all 8.71 0.00 1.74 0.00 0.00 89.55 Average:all 8.83 0.00 2.09 0.63 0.00 88.46
此輸出結(jié)果中,各個列表項的含義分別如下:
- %user:用于表示用戶模式下消耗的 CPU 時間的比例;
- %nice:通過 nice 改變了進程調(diào)度優(yōu)先級的進程,在用戶模式下消耗的 CPU 時間的比例;
- %system:系統(tǒng)模式下消耗的 CPU 時間的比例;
- %iowait:CPU 等待磁盤 I/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-0 3.38 0.00 502.26 148.44 0.08 24.11 4.56 1.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-0 1.49 0.00 29.85 20.00 0.00 1.75 0.75 0.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.26 6.96 53982.61 790.93 3.22 47.23 3.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.69 3961.29 154.84 36.85 1.05 9.42 3.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-0 1.67 136.00 2.67 83.20 0.01 6.20 6.00 1.00 Average: DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util Average: dev8-0 34.45 781.10 9601.22 301.36 0.78 22.74 3.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)文章,希望大家以后多多支持!
相關(guān)文章:
1. Fedora系統(tǒng)外觀怎么設(shè)置? Fedora Linux外觀主題設(shè)置技巧2. Linux Shell 如何獲取參數(shù)的方法3. Linux zabbix agent部署及配置方法詳解4. Linux環(huán)境下添加路由表代碼5. Xshell怎么遠程桌面連接Linux系統(tǒng)?6. Linux安裝MongoDB啟動及常見問題解決7. Unix是什么?Unix和Linux有什么區(qū)別?8. Kali linux面板任務(wù)欄更改為透明顯示教程介紹9. 新手看招:在Linux系統(tǒng)下玩Windows游戲10. 如何在電腦PC上啟動Windows11和Linux雙系統(tǒng)
