系統狀態檢視工具systat(轉)
1、關於 Sysstat;
Sysstat 是一個軟體包,包含監測系統效能及效率的一組工具,這些工具對於我們收集系統效能資料,比如CPU使用率、硬碟和網路吞吐資料,這些資料的收集和分析,有利於我們判斷系統是否正常執行,是提高系統執行效率、安全執行伺服器的得力助手;
Sysstat 軟體包整合如下工具:
* iostat 工具提供CPU使用率及硬碟吞吐效率的資料;
* mpstat 工具提供單個處理器或多個處理器相關資料;
* sar 工具負責收集、報告並儲存系統活躍的資訊;
* sa1 工具負責收集並儲存每天系統動態資訊到一個二進位制的檔案中。它是透過計劃任務工具cron來執行,
是為sadc所設計的程式前端程式;
* sa2 工具負責把每天的系統活躍性息寫入總結性的報告中。它是為sar所設計的前端 ,要透過cron來呼叫
* sadc 是系統動態資料收集工具,收集的資料被寫一個二進位制的檔案中,它被用作sar工具的後端;
* sadf 顯示被sar透過多種格式收集的資料;
2、安裝 Sysstat和執行;
對於大多數系統,都有這個軟體包,軟體名以sysstat開頭。我們可以透過網路安裝它;
2.1 對於Debian或deb軟體包為基礎的系統;
[root@localhost ~]# apt-get install sysstat
2.2 Fedora 系統或以RPM包管理的系統;
[root@localhost ~]# yum install sysstat
如果是RPM包,請用下面的命令來安裝;
[root@localhost ~]#rpm -ivh sysstat*.rpm
如果您想了解yum 和rpm 軟體包管理工具,請參考:《Fedora / Redhat 軟體包管理指南》
2.3 Slackware 系統,對於Slackware系統;
[root@localhost ~]# installpkg sysstat*.pkg
2.4 透過原始碼包編譯安裝;
如果您是透過原始碼包安裝,請到官方下源原始碼包 ,目前最新版本是 sysstat-6.1.2;
如果您想了想一下什麼是原始碼包,請參考:《如何編譯安裝原始碼包軟體》
[root@localhost ~]# tar zxvf sysstat-6.1.2.tar.gz
[beinan@localhost ~] $ cd sysstat-6.1.2
[beinan@localhost sysstat-6.1.2]#
[beinan@localhost sysstat-6.1.2]# make config
[beinan@localhost sysstat-6.1.2]# make
[beinan@localhost sysstat-6.1.2]# make install
2.5 關於 Sysstat 計劃任務;
如果您想得到Sysstat工具集所收集的系統資訊自動存為某個檔案中,你必須透過cron 為 sa1 和sa2 做計劃任務。我們可以透過修改使用者的crontab。在預設的情況下,Sysstat歷史資訊將被存放在/var/log/sa檔案中。如果想定義自己的計劃任務,請參考:《計劃任務工具 cron 的配置和說明》
在root使用者,透過 crontab -e 來新增下面的一段;
# 8am-7pm activity reports every 10 minutes during weekdays
0 8-18 * * 1-5 /usr/lib/sa/sa1 600 6 &
# 7pm-8am activity reports every hour during weekdays
0 19-7 * * 1-5 /usr/lib/sa/sa1 &
# Activity reports every hour on Saturday and Sunday
0 * * * 0,6 /usr/lib/sa/sa1 &
# Daily summary prepared at 19:05 5 19 * * * /usr/lib/sa/sa2 -A &
建立Sysstat的啟動指令碼;
[root@localhost ~]# touch /etc/rc.d/init.d/sysstat[root@localhost ~]# vi /etc/rc.d/init.d/sysstat#!/bin/sh# Begin $rc_base/init.d/sysstat# Based on sysklogd script from LFS-3.1 and earlier.# Rewritten by Gerard Beekmans - gerard@linuxfromscratch.org. /etc/sysconfig/rc. $rc_functionscase " $1" in start) echo "Calling the system activity data collector (sadc)..." /usr/lib/sa/sadc -F -L - evaluate_retval ;; *) echo "Usage: $0 start" exit 1 ;;esac# End $rc_base/init.d/sysstat[root@localhost ~]# chmod 755 /etc/rc.d/init.d/sysstat[root@localhost ~]# ln -sf /etc/rc.d/init.d/sysstat /etc/init.d/sysstat
有了Sysstat的守護程式,這樣我們開機後,Sysstat的守護程式,就時時刻刻的為我們服務了。sa 、sa1或sa2自動把資訊存在 /var/log/sa目錄的二進位制檔案中,我們可以透過sar工具來提取這些系統資訊的歷史;
當然我們也可以透過手動的方法來開啟Sysstat的守護程式,也就是我們前面所製作的sysstat;
[root@localhost ~]# /etc/rc.d/init.d/sysstat start
下面的方法也行;
[root@localhost ~]# /usr/lib/sa/sa1
[root@localhost ~]# /usr/lib/sa/sa2
3.Sysstat 工具集介紹;
3.1 sadc 工具,
sadc 位於 /usr/lib/sa目錄中,如果你沒有設定可執行路徑,要用絕對路徑來執行比較方便 ,/usr/lib/sa/sadc;sadc 是把資料寫在一個二進位制的檔案中,如果想檢視資料內容,需要用sadf工具來顯示;
sadc 的用法;
/usr/lib/sa/sadc [ -d ] [ -F ] [ -I ] [ -L ] [ -V ] [ interval [ count ] ] [ outfile ]
引數說明:
-d 報告硬碟設定的相關統計;
-F 強制把資料寫入檔案;
-I 報告所有系統中斷資料;
interval 表示時間間隔,單位是秒,比如3 ;
count 統計資料的次數,也是一個數字;
outfile 輸出統計到outfile檔案;
注意:此工具中的引數都是可選的,如果沒有指定任何引數,比如 /usr/lib/sa/sadc - ,則會輸出資料到 /var/log/sa/ 目錄下的一個檔案中。我們要透過sadf 或sar工具來檢視;
[root@localhost beinan]# /usr/lib/sa/sadc -
[root@localhost beinan]# ls /var/log/sa 注:列出所有sa目錄下的檔案,根據檔案的時間來判斷哪個檔案是最新的;
[root@localhost beinan]# sar -f /var/log/sa/sa12
或
[root@localhost beinan]# sadf /var/log/sa/sa12
舉例:我們想把sadc收集到的資料寫到一個指定的檔案中;
[root@localhost ~]# /usr/lib/sa/sadc 1 10 sa000[root@localhost ~]# sar -f sa000Linux 2.6.15-1.2054_FC5 (localhost.localdomain) 2006年05月12日09時15分30秒 CPU %user %nice %system %iowait %idle09時15分31秒 all 3.00 0.00 0.00 1.00 96.0009時15分32秒 all 0.00 0.00 0.00 0.00 100.0009時15分33秒 all 0.00 0.00 0.00 0.00 100.0009時15分34秒 all 0.00 0.00 0.00 0.00 100.0009時15分35秒 all 0.00 0.00 0.00 0.00 100.0009時15分36秒 all 0.00 0.00 0.00 0.00 100.0009時15分37秒 all 0.00 0.00 0.00 0.00 100.0009時15分38秒 all 0.00 0.00 0.00 0.00 100.0009時15分39秒 all 0.00 0.00 0.00 0.00 100.00Average: all 0.33 0.00 0.00 0.11 99.56
註解:我們用sadc 收集系統動態資料,讓它收集1秒之內的10次動態資訊; 然後透過sar 工具來檢視系統的狀態。也可以用 sadf 來檢視所收集的資料,但不是太直觀。您自己嘗試一下看看。檢視sa000檔案,用 sadf sa000 ;
3.2 sar 工具;
sar 工具比較強大,既能收集系統CPU、硬碟、動態資料,也能顯示動態顯示,更能檢視二進位制資料檔案;sar 的應用比較多,而且也比較複雜,資料更為精確。我們只瞭解一下常用的內容就行,大多數內容我們瞭解就行;
用法:
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 報告系統交換活動的資訊; 每少交換資料的個數?
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10748419/viewspace-939798/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 系統狀態檢視工具Sysstat
- 系統狀態統計和檢視
- Kylin系統檢視firewalld狀態
- Solaris之檢視執行系統狀態
- 轉:系統動態檢視速查
- win10系統下如何檢視硬碟狀態【圖文】Win10硬碟
- Linux如何檢視系統和程式的執行狀態?Linux
- win10系統怎麼檢視磁碟狀態_win10如何檢視硬碟資訊Win10硬碟
- 乙太網狀態檢視工具:Ethernet Status for MacMac
- 轉OracleRAC管理 之 叢集狀態&資訊檢視Oracle
- 轉 OracleRAC管理 之 叢集狀態&資訊檢視Oracle
- 檢視BW執行狀態
- 檢視看防火牆狀態防火牆
- Linux中系統狀態檢測命令Linux
- 網路連線狀態檢視工具:Internet Status for MacMac
- Internet Status Mac網路連線狀態檢視工具Mac
- Linux作業系統中如何檢視當前程式的狀態?Linux作業系統
- Mac網路連線狀態檢視工具:Internet Status for MacMac
- firewalld:檢視版本/幫助/狀態
- GitLab 的元件狀態檢視Gitlab元件
- System Dashboard for Mac(Mac系統狀況檢測工具)Mac
- Linux檢視系統命令(轉)Linux
- 使用MegaCli工具檢視Raid磁碟陣列狀態[主站備]AI陣列
- 常用的系統狀態查詢命令(轉)
- 檢視Linux下網路卡狀態或 是否連線(轉)Linux
- 使用 telescope 檢視 schedule 執行狀態
- 檢視映象資料庫的狀態資料庫
- linux perl 檢視檔案狀態Linux
- 檢視一個通訊埠狀態
- Linux下用netstat檢視網路狀態、埠狀態Linux
- 怎樣用除錯工具Dump Oracle系統狀態除錯Oracle
- 【工具】tsar 監控Linux系統狀態的利器Linux
- mysql狀態檢視 QPSTPS快取命中率檢視MySql快取
- SAP QM 檢驗批的系統狀態標識‘HUM'
- mysql檢視主從同步狀態的方法MySql主從同步
- Linux 檢視網路連線狀態Linux
- 【主機】檢視伺服器埠狀態伺服器
- OracleRAC管理 之 叢集狀態&資訊檢視Oracle