sar(System Activity Reporter系統(tǒng)活動情況報告)是目前Linux上最為全面的系統(tǒng)性能分析工具之一,可以從多方面對系統(tǒng)的活動進行報告,包括:文件的讀寫情況、系統(tǒng)調(diào)用的使用情況、磁盤I/O、CPU效率、內(nèi)存使用狀況、進程活動及IPC有關(guān)的活動等。本文主要以CentOS6.3 x64系統(tǒng)為例,介紹sar命令。
sar [options] [-A] [-o file] t [n]
其中:
t為采樣間隔,n為采樣次數(shù),默認值是1;
-o file表示將命令結(jié)果以二進制格式存放在文件中l(wèi)inux命令大全,file 是文件名。
options 為命令行選項,sar命令常用選項如下:
-A:所有報告的總和
-u:輸出CPU使用情況的統(tǒng)計信息
-v:輸出inode、文件和其他內(nèi)核表的統(tǒng)計信息
-d:輸出每一個塊設(shè)備的活動信息
-r:輸出內(nèi)存和交換空間的統(tǒng)計信息
-b:顯示I/O和傳送速率的統(tǒng)計信息
-a:文件讀寫情況
-c:輸出進程統(tǒng)計信息,每秒創(chuàng)建的進程數(shù)
-R:輸出內(nèi)存頁面的統(tǒng)計信息
-y:終端設(shè)備活動情況
-w:輸出系統(tǒng)交換活動信息
82.設(shè)超級用戶root當前所在目錄為:/usr/local,鍵入cd命令后,用戶當前所在目錄為 b 。如果你在windowsxp中,想得到所有進程的詳細信息,可以打開“命令提示符”,鍵入tasklist/svc>abc.txt命令,于是在當前目錄中,將會生成一個abc.txt文件,其內(nèi)容就是當前正在運行的所有進程情況,例如進程名、pid號、該進程啟動了哪些服務(wù)。當前shell下執(zhí)行make命令,生成可執(zhí)行程序文件,隨后make submit提交程序文件至本實例bin目錄中,隨后通過cd命令定位至實例bin目錄,該可執(zhí)行程序運行結(jié)果如下所示。
sar -u -o test 10 3
屏幕顯示如下:
17:06:16 CPU %user %nice %system %iowait %steal %idle
17:06:26 all 0.00 0.00 0.20 0.00 0.00 99.80
17:06:36 all 0.00 0.00 0.20 0.00 0.00 99.80
17:06:46 all 0.00 0.00 0.10 0.00 0.00 99.90
Average: all 0.00 0.00 0.17 0.00 0.00 99.83
輸出項說明:
CPU:all 表示統(tǒng)計信息為所有 CPU 的平均值。
%user:顯示在用戶級別(application)運行使用 CPU 總時間的百分比。
%nice:顯示在用戶級別,用于nice操作,所占用 CPU 總時間的百分比。
%system:在核心級別(kernel)運行所使用 CPU 總時間的百分比。
%iowait:顯示用于等待I/O操作占用 CPU 總時間的百分比。
%steal:管理程序(hypervisor)為另一個虛擬進程提供服務(wù)而等待虛擬 CPU 的百分比。
%idle:顯示 CPU 空閑時間占用 CPU 總時間的百分比。
1. 若 %iowait 的值過高,表示硬盤存在I/O瓶頸
2. 若 %idle 的值高但系統(tǒng)響應(yīng)慢時,有可能是 CPU 等待分配內(nèi)存,此時應(yīng)加大內(nèi)存容量
3. 若 %idle 的值持續(xù)低于1,則系統(tǒng)的 CPU 處理能力相對較低,表明系統(tǒng)中最需要解決的資源是 CPU 。
如果要查看二進制文件test中的內(nèi)容,需鍵入如下sar命令:
sar -u -f test
例如,每10秒采樣一次,連續(xù)采樣3次,觀察核心表的狀態(tài),需鍵入如下命令: