星期六, 11月 05, 2005

HP 效能監督程,從網路看到的

2005年04月05日
打印自: unix中文寶庫
地址: http://www.douzhe.com/article/article.php/633
性能調試---(二)性能分析工具
1:性能分析工具綜述
2:如何知道系統安裝了哪些性能分析工具?
3:SAR
4:time和timex
5:iostat
6:vmstat
7:GlancePlus


性能分析工具綜述


目前,對系統進行性能調試的工具有很多,這些可以兩大類:一類是標準的分析工具,即所有的UNIX都會帶的分析工具; 另一類是不同廠商的UNIX所特有的性能分析工具,比如HP-UX就有自己的增值性能分析工具。

標準的分析工具,即所有的UNIX都會帶的分析工具:

sar
iostat
vmstat
time
ps
bdf
top
ipcs
uptime
HP-UX自己的增值性能分析工具:

glance/gpm
puma
xps
按性能分析工具的用途來說,它可以分為:

CPU的使用情況:sar,time,top,ps,puma,xps
內存的使用情況:vmstat,ipcs
文件系統狀態:dbf,iostat,sar,swapinfo,nfsstat
I/O子系統狀態:iostat
網絡性能:netstat
按分析時間點來分,性能分析工具可以分為:

日誌型分析工具,如puma,xps,它們將在對系統在某一段時間的運行情況進行取樣,然後得出某此結果。這種分析工具非常適合於 針對那些時斷時續發生的問題進行分析,因為通過取樣,可以得出結論;
實時型分析工具,如glance,它們又稱「快照型分析工具」,即它們將實時取出系統運行環境的數據,這種分析工具非常適合於 那些在分析工具正在運行時發生的問題,或一直發生的問題。

如何知道系統安裝了哪些性能分析工具?


想知道系統中安裝了何種性能分析工具,運行命令:

#/opt/perf/perfstat -v

SAR-System Activity Reporter


顧名思義,SAR工具將對系統的當前狀態進行取樣,然後通過計算數據和比例來表達系統的當前運行狀態。它的特點是:

System V-based,在很多的UNIX版本中都存在;
可以連續對系統取樣,獲得大量的取樣數據;
取樣數據和分析的結果都可以入文件;
自己所需的負載很小
SAR也有一個致命的不足,這就是:SAR不能對某個進程進行深入分析,它僅是一對系統的整體情況進行分析。

SAR的語法為:

#sar [-ubdycwaqvmAMS] [-o file] t [n]:每隔t秒取樣一次,共取樣n次,其中-o file表示取樣結果將以二進制形式存入文件file中;
#sar [-ubdycwaqvmAMS] [-s time] [-e time] [-i sec] [-f file]:表示從file文件中取出數據,如果沒有指定-f file,則從標準數據文件/var/adm/sa/sadd取數據,其中dd表示當前日子。另外, -s time表示起始時間;-e time表示停止時間;-i sec表示取樣的時間間隔,如果不指定則表示取文件中所有的數據。
對[-ubdycwaqvmAMS]的解釋請參閱 相關的系統分析領域,如-u表示對CPU的分析;-A表示彙總所有數據,即等於-ubdycwaqvm, -M表示對多個CPU環境中每個CPU都進行各自的分析, 一般它與-q和-u聯合使用,以對每個CPU的使用情況進行分析
從前面的命令語法中可知,sar可以從一個文件中讀取性能數據,這個文件可以通過sar來產生(如sar -o file 2 3),也可以通過其他的命令來產生,具體地說,可以通過以下幾個命令來產生:

#/usr/lbin/sa/sadc [t n] [ofile]:以t秒為時間間隔,共取樣n次,所有數據存入文件ofile。如果我們要對系統進行分析,則通常的做法是:第一步,mkdir /var/adm/sa;第二步,chown adm:adm /var/adm/sa; 第三步,/usr/lbin/sa/sadc /var/adm/sa/sa`date +%d`,它會在/var/adm/sa目錄下創建一個sadd文件,其中dd表示當前日期,這個命令將對以前取樣進行清零。
運行shell命令:#/usr/lbin/sa/sa1 [t n]:表示以t秒為時間間隔,共取樣n次,所有數據存入文件/var/adm/sa目錄下的sadd文件,其中dd表示當前日期;
運行shell命令:#/usr/lbin/sa/sa2 [-ubdycwaqvmA] [-s time] [-e time] [i sec]:
一個通過crontab命令來設置定時執行的方案:

0 * * * 0,6 su adm -c "/usr/lbin/sa/sa1":表示以adm用戶執行sa1,每個星期的日、六兩天是每小時執行一次sa1命令;

0 8-17 * * 1-5 su adm -c "/usr/lbin/sa/sa1 3 3"

0 8-17 * * 1-5 su adm -c "/usr/lbin/sa/sa1"


在通過sadc或sa1、sa2等後台命令收集數據時,我們必須注意如下兩點:

/usr文件系統的空閒空間夠不夠
本月數據將覆蓋上月所取樣的數據,因此,在系統即將進入下一個月時,必須對本月數據進行備份;
sa1和sa2是兩個shell命令,在目錄/usr/lbin/sa下,我們可以修改這兩shell文件,以改變缺省的取樣方法。


time和timex


TIME

Time命令可以彙報出執行某條命令所花的時間。它的輸出包括:實際時間,用戶時間和系統時間。

它的語法:#time ls

TIMEX

和time一樣,timex可以彙報出執行某條命令所花的時間,不過它可以給出更多的信息。

選項-s:prints sar data for the interval in which the program ran.

option -p: List process accounting records for command and all its children.This option works only if the process accounting software is installed and /usr/lib/acct/turnacct has been invoked to create /var/adm/pacct

iostat-I/O statistics Reporter


iostat(輸入/輸出統計)工具將對系統的磁盤操作活動進行監視,它的輸出結果會比sar -d的輸出結果更有用。它的特點是:

Berkeley-based,在很多的UNIX版本中都存在;
彙報磁盤活動統計情況,同時也會彙報出終端和CPU使用情況;
looks at information on a per-spindle basis
和SAR一樣,它也有一個致命的不足,這就是:iostat不能對某個進程進行深入分析,它僅是一對系統的整體情況進行分析。

iostat的語法為:

iostat [-t] [interval [count]]
interval: Display successive lines which are summaries of the last interval seconds. The first line reported is for the time since a reboot and each subsequent line is for the last interval only.
count: Repeat the statistics count times.
-t: Report terminal statistics as well as disk statistics.


vmstat-Virtual Meomory Statistics


vmstat工具將對系統的虛擬內存、進程、CPU活動進行監視,同時它也對磁盤和forks和vforks操作的個數進行彙總。它的特點是:

Berkeley-based,在很多的UNIX版本中都存在;
彙報虛擬內存、進程、CPU活動統計情況,同時也會彙報出磁盤活動情況和forks和vforks操作的個數;
和iostat一樣,它也有一個致命的不足,這就是:vmstat不能對某個進程進行深入分析,它僅是一對系統的整體情況進行分析。

vmstat的語法為:

vmstat [-dnS] [interval [count]]
vmstat -f | -s | -z

GlancePlus


GlancePlus是HP公司的性能分析工具,它是一個聯機性能分析和診斷工具,用於監控正在發生的系統活動情況。它的特點是:

聯機性能分析和診斷;
監控系統資源的使用情況;
多屏幕輸出;
帶有聯機幫助;
進程閥值識別和報警,這個閥值可以基於被監控的進程、資源的利用率、用戶、進程名或者終端名;
和前面介紹的其他性能分析工具,如:SAR,iostat,vmstat等相比,GlancePlus有一最大好處,這就是:GlancePlus不僅能對系統的整體情況進行分析,而且還可以對某個進程進行深入分析。

GlancePlus所有監控的系統資源主要有以下這些,應該說,它們已經包括了主要的系統資源。

CPU、磁盤、內存和交換區的整體使用情況;
全局進程的活動情況;
CPU的詳細使用情況;
內存的詳細使用情況;
文件系統、設備和邏輯卷的磁盤輸入/輸出;
磁盤隊列和長度;
交換區的詳細使用情況;
系統表的使用情況;
單個進程的活動情況;
GlancePlus的運行形式有兩種:

圖 形方式:#/opt/perf/bin/gpm,或以後台方式運行#gpm&;不過,我們必須先設置環境變量DISPLAY,因為它是圖形輸出 的目的地,比如:export DISPLAY=主機名(IP地址):0.0;如果是工作站telnet別的主機上,則本工作站還要運行#xhost +,表示別的機器上輸出可以到本工作站;
終端方式:#/opt/perf/bin/glance
GlancePlus的界面主要有兩部分,上面部分是系統資源的整體使用情況,下面部分則按不同的資源的詳細使用情況。

GlancePlus的界面的上面部分的詳細說明,其中字母表示誰用了資源,而字母之間的長度資源佔用率。

CPU的利用率:S-系統CPU利用率,U-用戶CPU利用率,R-實時CPU利用率,N-nice CPU利用率,A-negative-nice CPU利用率;
磁盤的利用率:F-文件系統I/O,V-虛擬內存I/O
內存的利用率:S-用於系統代碼和數據的內存,U-用於用戶代碼和數據的內存,B-用作緩存的內存
交換區的利用率:U-正在使用的交換區,R-預留的交換區
前 面講到,GlancePlus是一個聯機分析診斷工具,其實,GlancePlus還可以與MeasureWare Agent一起使用,MeasureWare Agent將可以在一段時間內幫助GlancePlus收集基本數據,然後由GlancePlus進行分析。

Glance可以運行在HP-UX,Solaris和AIX上。

與其他的工具相比,Glance佔用的系統資源會更多一些。

通常情況下,啟動工具的命令的語法如下:

#glance [-j interval][-p dest][-f dest][maxpagers n][-command][-nice n][-nosort][lock][]

其中,各選項的含義為:

-j :指定數據刷新的時間間隔;
-p :使得結果送到打印機隊列;
-f :enbles printing to a file;
-maxpages :limits the number of pages to be printed;
-command:selects the inital metric screen;
-nice :nice value at which glance runs;
-nosort:don't sort processes on the screen;
-lock:locks glance into memory

0 Comments:

張貼留言

<< Home