您好,登錄后才能下訂單哦!
本篇文章為大家展示了sysstat下的系統工具有什么,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
Sysstat 軟件包集成如下工具:
* iostat 工具提供CPU使用率及硬盤吞吐效率的數據;
* mpstat 工具提供單個處理器或多個處理器相關數據;
* sar 工具負責收集、報告并存儲系統活躍的信息;
* sa1 工具負責收集并存儲每天系統動態信息到一個二進制的文件中。它是通過計劃任務工具
cron來運行,
是為sadc所設計的程序前端程序;
* sa2 工具負責把每天的系統活躍×××寫入總結性的報告中。它是為sar所設計的前端 ,要通過
cron來調用
* sadc 是系統動態數據收集工具,收集的數據被寫一個二進制的文件中,它被用作sar工具的后
端;
* sadf 顯示被sar通過多種格式收集的數據;
一,SAR
sar的最后兩個參數一般是interval count
sar [參數選項]
參數說明:
-A 顯示所有歷史數據,通過讀取/var/log/sar 目錄下的所有文件,并把它們分門別類的顯示出來;
-b 通過設備的I/O中斷讀取設置的吞吐率;
-B 報告內存或虛擬內存交換統計;
-c 報告每秒創建的進程數;
-d 報告物理塊設備(存儲設備)的寫入、讀取之類的信息,如果直觀一點,可以和p參數共同使用,
-dp
-f 從一個二進制的數據文件中讀取內容,比如 sar -f filename
-i interval 指定數據收集的時間,時間單位是秒;
-n 分析網絡設備狀態的統計,后面可以接的參數有 DEV、EDEV、NFS、NFSD、SOCK等。比如-n DEV
-o 把統計信息寫入一個文件,比如 -o filename ;
-P 報告每個處理器應用統計,用于多處理器機器,并且啟用SMP內核才有效;
-p 顯示友好設備名字,以方便查看,也可以和-d 和-n 參數結合使用,比如 -dp 或-np
-r 內存和交換區占用統計;
-R
-t 這個選項對從文件讀取數據有用,如果沒有這個參數,會以本地時間為標準 讀出;
-u 報告CPU利用率的參數;
-v 報告inode, 文件或其它內核表的資源占用信息;
-w 報告系統交換活動的信息; 每少交換數據的個數;
-W 報告系統交換活動吞吐信息;
-x 用于監視進程的,在其后要指定進程的PID值;
-X 用于監視進程的,但指定的應該是一個子進程ID;
1、sar -u 1 5
輸出CPU使用情況的統計信息,每秒輸出一次,一共輸出100次
17時06分01秒 CPU %user %nice %system %iowait %idle
17時06分02秒 all 1.27 0.00 0.51 1.01 97.22
17時06分03秒 all 0.00 0.00 0.00 0.00 100.00
17時06分04秒 all 0.00 0.00 0.00 0.00 100.00
17時06分05秒 all 0.25 0.00 0.00 0.00 99.75
17時06分06秒 all 0.00 0.00 0.00 0.51 99.49
Average: all 0.30 0.00 0.10 0.30 99.29
CPU all 表示統計信息為所有 CPU 的平均值。
%user 顯示在用戶級別(application)運行使用 CPU 總時間的百分比。
%nice 顯示在用戶級別,用于nice操作,所占用 CPU 總時間的百分比。
%system 在核心級別(kernel)運行所使用 CPU 總時間的百分比。
%iowait 顯示用于等待I/O操作占用 CPU 總時間的百分比。
%steal 管理程序(hypervisor)為另一個虛擬進程提供服務而等待虛擬 CPU 的百分比。
%idle 顯示 CPU 空閑時間占用 CPU 總時間的百分比。
tips:
若 %iowait 的值過高,表示硬盤存在I/O瓶頸
若 %idle 的值高但系統響應慢時,有可能是 CPU 等待分配內存,此時應加大內存容量
若 %idle 的值持續低于 10,則系統的 CPU 處理能力相對較低,表明系統中最需要解決的資源是 CPU
。
2、sar -b 1 5
顯示I/O和傳送速率的統計信息(動態實時顯示硬盤的讀寫)
17時09分07秒 tps rtps wtps bread/s bwrtn/s
17時09分08秒 3.12 3.12 0.00 25.00 0.00
17時09分09秒 89.58 6.25 83.33 141.67 733.33
17時09分10秒 42.71 9.38 33.33 141.67 600.00
17時09分11秒 2.11 2.11 0.00 16.84 0.00
17時09分12秒 1.04 0.00 1.04 0.00 175.00
Average: 27.77 4.18 23.59 65.14 302.30
tps 每秒鐘物理設備的 I/O 傳輸總量
rtps 每秒鐘從物理設備讀入的數據總量
wtps 每秒鐘向物理設備寫入的數據總量
bread/s 每秒鐘從物理設備讀入的數據量,單位為 塊/s
bwrtn/s 每秒鐘向物理設備寫入的數據量,單位為 塊/s
3、sar -c
每秒鐘創建的進程數
15時10分01秒 1.35
15時20分01秒 1.01
15時30分01秒 0.59
15時40分01秒 1.35
15時50分01秒 0.99
16時00分01秒 0.57
16時10分01秒 1.33
16時20分01秒 1.02
16時30分01秒 0.57
16時40分01秒 1.33
16時50分01秒 1.07
17時00分01秒 0.56
17時10分01秒 1.32
4、sar -n DEV 1 5
輸出網絡設備狀態的統計信息
17時13分42秒 IFACE rxpck/s txpck/s rxbyt/s txbyt/s rxcmp/s txcmp/s
rxmcst/s
17時13分43秒 eth2 3669.70 4156.57 368362.63 2747714.14 0.00 0.00
0.00
17時13分44秒 eth2 2689.11 2585.15 289661.39 701461.39 0.00 0.00
0.00
17時13分45秒 eth2 3746.00 4077.00 415178.00 2605720.00 0.00 0.00
0.00
17時13分46秒 eth2 3096.00 3241.00 327916.00 1597320.00 0.00 0.00
0.00
17時13分47秒 eth2 2910.00 2834.00 312632.00 957903.00 0.00 0.00
0.00
Average: eth2 3220.20 3375.60 342592.60 1717931.20 0.00 0.00
0.00
IFACE 網絡設備名
rxpck/s 每秒接收的包總數
txpck/s 每秒傳輸的包總數
rxbyt/s 每秒接收的字節(byte)總數
txbyt/s 每秒傳輸的字節(byte)總數
rxcmp/s 每秒接收壓縮包的總數
txcmp/s 每秒傳輸壓縮包的總數
rxmcst/s 每秒接收的多播(multicast)包的總數
5、sar -q 1 5
輸出進程隊列長度和平均負載狀態統計信息
17時16分28秒 runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15
17時16分29秒 0 160 0.26 0.11 0.03
17時16分30秒 0 160 0.26 0.11 0.03
17時16分31秒 0 160 0.24 0.11 0.03
17時16分32秒 0 160 0.24 0.11 0.03
17時16分33秒 0 160 0.24 0.11 0.03
Average: 0 160 0.25 0.11 0.03
runq-sz 運行隊列的長度(等待運行的進程數)
plist-sz 進程列表中進程(processes)和線程(threads)的數量
ldavg-1 最后1分鐘的系統平均負載(System load average)
ldavg-5 過去5分鐘的系統平均負載
ldavg-15 過去15分鐘的系統平均負載
6、sar -r
輸出內存和交換空間的統計信息
二,iostat
用途
報告中央處理器(CPU)統計信息和整個系統、適配器、tty 設備、磁盤和 CD-ROM 的輸入/輸出統計
信息。
語法
iostat [ -s ] [ -a ] [ -d | -t ] [ -T ][ -m ][ PhysicalVolume ... ] [ Interval [ Count ]
]
描述
iostat 命令用來監視系統輸入/輸出設備負載,這通過觀察與它們的平均傳送速率相關的物理磁盤的
活動時間來實現。iostat 命令生成的報告可以用來更改系統配置來更好地平衡物理磁盤和適配器之間
的輸入/輸出負載。
由 iostat 命令生成的第一份報告提供了關于自從系統被引導后的時間統計信息。后繼的每一份報告
都包含自上一次報告以來的時間。每次運行 iostat 命令時,就報告所有的統計信息。報告由緊接著
一行 tty 和 CPU 統計信息的 tty 和 CPU 頭行組成。在多處理器系統上,CPU 統計信息是系統范圍
計算的,是所有處理器的平均值。
如果指定 -s 標志,則顯示系統頭行,隨后是一行整個系統的統計信息。系統的主機名被打印在系統
頭上。
如果指定 -a 標志,就會顯示一個適配器頭行,隨后是一行適配器的統計信息。這后面將回有一個磁
盤頭行和連接到適配器的所有磁盤/CD-ROM 的統計信息。為所有與系統連接的磁盤適配器生成這種報
告。
顯示一個磁盤頭行,隨后是一行配置的磁盤的統計信息。如果指定 PhysicalVolume 參數,則只顯示
那些指定的名稱。
如果指定 PhysicalVolume 參數,那么可以指定一個或者更多的字母或者字母數字的物理卷。如果指
定 PhysicalVolume 參數,就會顯示 tty 和 CPU 報告并且磁盤報告包含指定驅動器的統計信息。如
果沒有發現指定邏輯驅動器名,那么報告將列出指定的名稱并且顯示沒有找到驅動器的消息。如果沒
有指定邏輯驅 動器名,報告則包含所有已配置的磁盤和 CD-ROM 的統計信息。如果系統上沒有配置驅
動器,則不生成磁盤報告。PhysicalVolume 參數中的第一個字符不能為數字型。
Interval 參數指定了在每個報告之間的以秒計算的時間量。第一份報告包含了自系統啟動(引導)以
來的時間統計信息。每一份后繼報告都包含在和前一份報告的時間間隔之 間收集的統計信息。Count
參數可被指定來連接 Interval 參數。如果指定了 Count 參數,它的記數值就確定在 Interval 秒間
生成的報告數。如果指定了 Interval 參數但沒有 Count 參數,iostat 命令就會不斷生成報告。
iostat 命令用來確定一個物理卷是否正在形成一個性能瓶頸,以及是否有可能改善這種情況。物理卷
的 % 使用率字段表明了文件活動在驅動器中分布多均勻。物理卷的高 % 使用率是表明也許存在這個
資源的爭用很好的征兆。由于 CPU 使用率的統計信息同樣適用于 iostat 報告,CPU 在 I/O 等待隊
列中的時間的百分比可以在同一時間確定。如果 I/O 等待時間是有效數字并且磁盤使用率不是在卷上
均勻分布,那么就要考慮在驅動器上分布數據。
注: 一些系統資源被消耗是為了為 iostat 命令維護磁盤 I/O 的歷史記錄。使用sysconfig子例程,
或者系統管理接口工具(SMIT)來停止歷史記錄賬戶。
報告
iostat 命令生成四種類型的報告,tty 和 CPU 使用率報告、磁盤使用率報告、系統吞吐量報告和適
配器吞吐量報告。
tty 和 CPU 使用率報告
由 iostat 命令生成的第一份報告是 tty 和 CPU 使用率報告。對于多處理器系統,CPU 值是所有處
理器的總平均。同時,I/O 等待狀態是系統級定義的,而不是每個處理器。報告有以下格式:
欄 描述
tin 顯示了系統為所有 tty 讀取的字符總數。
tout 顯示了系統為所有 tty 寫入的字符總數。
% user 顯示了在用戶級(應用程序)執行時產生的 CPU 使用率百分比。
% sys 顯示了在系統級(內核)執行時產生的 CPU 使用率百分比。
% idle 顯示了在 CPU 空閑并且系統沒有未完成的磁盤 I/O 請求時的時間百分比。
% iowait 顯示了 CPU 空閑期間系統有未完成的磁盤 I/O 請求時的時間百分比。
每過一定時間間隔,內核就更新這條信息(一般每秒六十次)。tty 報告提供了從系統中所有終端的
收到的每秒字符總數,以及和每秒輸出到系統所有終端的字符的總數。
用來計算 CPU 磁盤 I/O 等待時間的方法
操作系統 V4.3.3 和后來的版本包含用來估算 CPU 在磁盤 I/O(wio 時間)等待上的所花時間的百
分比的增強方法。用在 AIX 4.3.2 和操作系統的早期版本上的方法在一定條件下,能夠給出 SMP 上
的 wio 時間的一個放大的視圖。wio 時間是根據命令 sar(%wio)、 vmstat(wa)和 iostat(%
iowait)報告出來的。
在 AIX 4.3.2 中和早期版本中使用的方法如下:在每個處理器(每處理器一秒一百次)的每個時鐘中
斷上,將確定四個類別(usr/sys/wio/idle)中的哪一個放 置在最后的 10ms 內。如果在時鐘中
斷的時刻 CPU 以 usr 模式中處于忙狀態,那么 usr 獲得這個時間計點并歸于此類。如果在時鐘中斷
時刻 CPU 以內核模式中處于忙狀態,那么 sys 類別將獲得該計時點。如果 CPU 不處于忙狀態,將檢
查是否在進行任何磁盤 I/O。如果在進行任何磁盤 I/O,則 wio 類別將增加。如果磁盤在進行 I/O
操作并且 CPU 不忙,那么 idle 類別將獲取計時點。wio 時間的放大視圖是由于所有空閑 CPU 被歸
為 wio 而不管在 I/O 上等待的線程數所導致。例如,僅有一個線程執行 I/O 的系統可以報告超過
90% 的 wio 時間而不管其 CPU 數。
在 AIX 4.3.3 中和后繼版本中使用的方法如下:如果在那個 CPU 上啟動一個未完成的的 I/O,那么
操作系統 V4.3.3 中的更改僅把一個空閑 CPU 標為 wio。當只有少數線程正在執行 I/O 否則系統就
空閑的情況下,這種方法可以報告更少的 wio 時間。例如,一個有四個 CPU 且只有一個線程執行 I
/O 的系統將報告一個最大值是 25% 的 wio 時間。一個有 12 個 CPU 且僅有一個線程執行 I/O 的
系統將報告一個最大值為 8% 的 wio 時間。 NFS 客戶機通過 VMM 讀/寫,并且為了完成一個 I/O
而在 vmm 等待中用的時間現在將被報告為 I/O 等待時間。
磁盤使用率報告
由 iostat 命令生成的第二個報告是磁盤使用率報告。磁盤報告提供了在每個物理磁盤基礎上的統計
信息。這個報告有以下類似的格式:
% tm_act 表示物理磁盤處于活動狀態的時間百分比(驅動器的帶寬使用率)。
Kbps 表示以 KB 每秒為單位的傳輸(讀或寫)到驅動器的數據量。
tps 表示每秒鐘輸出到物理磁盤的傳輸次數。一次傳輸就是一個對物理磁盤的 I/O 請求。多個邏輯請
求可被并為對磁盤的一個單一 I/O 請求。傳輸具有中等的大小。
Kb_read 讀取的 KB 總數。
Kb_wrtn 寫入的 KB 總數。
CD-ROM 設備的統計信息也要報告。
對于配置有大量磁盤的大型系統配置,當 iostat 沒有執行時,系統可以設置為避免收集物理硬盤的
輸入/輸出數據。如果系統用上述的方式配置,那么第一個磁盤報告將顯示消息引導不可用后的磁盤
歷史記錄而不 是磁盤統計信息。由 iostat 命令生成的后繼時間間隔報告包含在報告時間間隔期間收
集的磁盤統計信息。引導后的任何 tty 和 CPU 都不會影響。如果一個系統管理命令用來重新保留磁
盤統計信息,那么第一個 iostat 命令報告會顯示從啟用磁盤輸入/輸出統計信息那一刻時間間隔起
點起的行為。
系統吞吐量報告
如果指定 -s 標志將生成這個報告。這份報告提供了整個系統的統計信息。這份報告有以下格式:
Kbps 表示了每秒以 KB 為單位的傳輸(讀或寫)到整個系統的數據量。
tps 表示每秒傳輸到整個系統的傳輸次數。
Kb_read 從整個系統中讀取的 KB 總數。
Kb_wrtn 寫到整個系統的 KB 總數。
適配器吞吐量報告
如果指定 -a 標志將產生該報告。這份報告提供了適配器上的統計信息。
Kbps 表示每秒鐘以 KB 為單位的傳輸到(讀或寫)到適配器的數據量。
tps 表示每秒鐘輸出到適配器的傳輸次數。
Kb_read 從適配器讀取的 KB 總數。
Kb_wrtn 寫到適配器的 KB 總數。
磁盤輸入/輸出歷史記錄
要提高性能,已經禁用了磁盤輸入/輸出統計信息集合。要啟用該數據的集合,請輸入:
chdev -l sys0 -a iostat=true
要顯示當前設置,請輸入:
lsattr -E -l sys0 -a iostat
如果禁用了磁盤輸入/輸出歷史記錄的集合,那么 iostat 輸出的第一個磁盤報告將顯示消息引導不
可用后的磁盤歷史記錄而不是磁盤統計信息。如前,由 iostat 命令生成后繼時間間隔報告包含了在
報告時間間隔期間收集的磁盤統計信息。
標志
-a 顯示適配器吞吐量報告。
-d -d 標志不能和 -t 標志合用,且僅顯示磁盤使用率報告。
-s 顯示系統吞吐量報告。
-m -m 標志將為以下打印路徑統計信息
到啟用 MPIO(Multi-Path I/O)設備的路徑。
ESS 機器中的路徑。
吞吐量是每個設備的。設備所有路徑的吞吐量符合該設備的吞吐量。
對于 ESS 機器,vpaths 將被當作磁盤,而 hdisks 將被看作路徑。在內部 vpaths 是磁盤,hdisks
是它們的路徑。對于啟用 MPIO 的設備,路徑名將表示為 Path0、Path2、Path3 等等。數字0、1、2
等都是 lspath 命令提供的路徑標識。由于一個設備的路徑可以附加到任何適配器上,所以適配器報
告將報告每個適配器下的路徑信息。磁盤名稱是所有路徑的前綴。對于所有啟用 MPIO 的設備,適配
器報告將打印路徑名為 hdisk10_Path0 、hdisk0_Path2等等。對于所有 ESS 機器,適配器報告將打
印路徑名為 vpath0_hdisk3 、vpath20_hdisk25等等。
-t -t 標志排除了 -d 標志且僅顯示了 tty 和 cpu 用法報告。
-T 打印 iostat輸出的每一行邊上的時間戳記。時間戳記以 HH:MM:SS 格式顯示。
注:
-s 和 -a 標記都能指定來顯示系統和適配器吞吐量報告。
如果同時指定 -a 標志和 -t 標志,將顯示 tty 和 CPU 報告,隨后是適配器吞吐量報告。連接在適
配器上的磁盤的使用率報告將不會顯示在適配器吞吐量報告后面。
如果同時指定 -a 標志和 -d 標志,將不會顯示 tty 和 CPU 報告。如果指定物理卷參數,那么指定
卷的磁盤使用率報告將在它所屬于的相應適配器下打印出來。
示例
要為所有 tty、CPU 和磁盤顯示引導后的單一歷史記錄報告,請輸入:
iostat
要為邏輯名是 disk1 的磁盤顯示一個以兩秒為時間間隔的持續磁盤報告,請輸入:
iostat -d disk1 2
要為邏輯名是 disk1 的磁盤顯示以兩秒為時間間隔的六個報告,請輸入:
iostat disk1 2 6
要為所有磁盤顯示以兩秒為時間間隔的六個報告,請輸入:
iostat -d 2 6
要為三個名稱分別為 disk1、disk2、disk3 的磁盤顯示以兩秒為時間間隔的六個報告,請輸入:
iostat disk1 disk2 disk3 2 6
要打印系統吞吐量報告,請輸入:
iostat -s
要打印適配器吞吐量報告,請輸入:
iostat -a
要打印系統和適配器吞吐量報告,且僅有 tty 和 CPU 報告(沒有磁盤報告),請輸入:
iostat -sat
要打印帶有 hdisk0 和 hdisk7 的磁盤使用率報告的系統和適配器吞吐量報告,請輸入:
iostat -sad hdisk0 hdisk7
要顯示 iostat 輸出的每行的下一行的時間戳記,請輸入:
iostat -T
文件
tps 每秒鐘物理設備的 I/O 傳輸總量。
Blk_read 讀入的數據總量,單位為塊。
Blk_wrtn 寫入的數據總量,單位為塊。
kB_read 讀入的數據總量,單位為KB。
kB_wrtn 寫入的數據總量,單位為KB。
MB_read 讀入的數據總量,單位為MB。
MB_wrtn 寫入的數據總量,單位為MB。
Blk_read/s 每秒從驅動器讀入的數據量,單位為 塊/s。
Blk_wrtn/s 每秒向驅動器寫入的數據量,單位為 塊/s。
kB_read/s 每秒從驅動器讀入的數據量,單位為KB/s。
kB_wrtn/s 每秒向驅動器寫入的數據量,單位為KB/s。
MB_read/s 每秒從驅動器讀入的數據量,單位為MB/s。
MB_wrtn/s 每秒向驅動器寫入的數據量,單位為MB/s。
rrqm/s 將讀入請求合并后,每秒發送到設備的讀入請求數。
wrqm/s 將寫入請求合并后,每秒發送到設備的寫入請求數。
r/s 每秒發送到設備的讀入請求數。
w/s 每秒發送到設備的寫入請求數。
rsec/s 每秒從設備讀入的扇區數。
wsec/s 每秒向設備寫入的扇區數。
rkB/s 每秒從設備讀入的數據量,單位為 KB/s。
wkB/s 每秒向設備寫入的數據量,單位為 KB/s。
rMB/s 每秒從設備讀入的數據量,單位為 MB/s。
wMB/s 每秒向設備寫入的數據量,單位為 MB/s。
avgrq-sz 發送到設備的請求的平均大小,單位為扇區。
avgqu-sz 發送到設備的請求的平均隊列長度。
await I/O請求平均執行時間。包括發送請求和執行的時間。單位為毫秒。
svctm 發送到設備的I/O請求的平均執行時間。單位為毫秒。
%util 在I/O請求發送到設備期間,占用CPU時間的百分比。用于顯示設備的帶寬利用率。當這個值接
近100%時,表示設備帶寬已經占滿。
三,mpstat
mpstat 提供多處理器系統中的CPU的利用率的統計;mpstat 也可以加參數,用-P來指定哪個 CPU,處
理器的ID是從0開始的。下面的例子是查看兩個處理器,每二秒數據更新一次,總共要顯示10次數據;
[root@localhost ~]# mpstat -P 0 2 10 注:查看第一個CPU
[root@localhost ~]# mpstat -p 1 2 10 注:查看第二個CPU
[root@localhost ~]# mpstat -P ALL 2 10 注:查看所有CPU;
上述內容就是sysstat下的系統工具有什么,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。