星期六, 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

星期四, 11月 03, 2005

Hp Unix 11,11i 系統備份,還原及boot disk mirror測試

系統環境:Hp UX 11i 加 LVM + mirror disk

(1)系統備份
(2)系統還原
(3)boot disk mirror
  • 實驗
  • 製作boot disk mirror
  • online 抽出第二顆
    • online
      • 插回後
        • 重做
        • 不重做,直接sync
      • 換個新的
        • 重做
      • 做完後Online抽出第一顆,並重開機,再回覆
      • 做完後Offline抽出第一顆,並重開機,再回覆
    • 不插回重開機
      • 可否開機
      • 插回
        • 重做
        • 不重做,直接sync
      • 換個新的
        • 重做
      • 回覆後Online抽出第一顆,並重開機,再回覆
      • 回覆後Offline抽出第一顆,並重開機,再回覆
  • offline抽出第一(二)顆
    • 可否開機
    • offline插回硬碟
    • online插回硬碟
    • 回覆後Online抽出第一顆,並重開機,再回覆
    • 回覆後Offline抽出第一顆,並重開機,再回覆
  • online 抽出第一顆
    • 同第二顆
    • 觀查
      • 可否開機
      • 重做後開機硬碟是否改變
硬碟壞了怎麼辦
  • 如何知道壞了
    • vgdisplay
  • 如何修護
參考文件

#lvlnboot -v #check it first


# ioscan -fnC disk
Class I H/W Path Driver S/W State H/W Type Description
=====================================================================
disk 0 0/0/1/1.2.0 sdisk CLAIMED DEVICE HP 73.4GMAN3735MC
/dev/dsk/c1t2d0 /dev/rdsk/c1t2d0
disk 1 0/0/2/0.2.0 sdisk CLAIMED DEVICE HP 73.4GATLAS10K3_73_SCA
/dev/dsk/c2t2d0 /dev/rdsk/c2t2d0

Note: c1t2d0 is the boot disk and c2t2d0 is the mirrored disk.

1) Initialize the disk and make it bootable
pvcreate -B /dev/rdsk/c2t2d0
Note: the -B parameter tells pvcreate that this will be a bootable disk.

2) Add the physical volume to the volume group
vgextend /dev/vg00 /dev/dsk/c2t2d0

3) Use mkboot to place the boot utilities in the boot area and add the AUTO file.
mkboot /dev/dsk/c2t2d0
mkboot -a "hpux -lq" /dev/rdsk/c2t2d0

4) Use mkboot to update the AUTO file on the primary boot disk.
mkboot -a "hpux -lq" /dev/rdsk/c1t2d0

5) Mirror the stand, root and swap logical volumes
lvextend -m 1 /dev/vg00/lvol1
lvextend -m 1 /dev/vg00/lvol2
lvextend -m 1 /dev/vg00/lvol3

Note: LVM will resynchronize the new mirror copies.

Repeat the lvextend for all other logical volumes on the boot mirror.
lvextend -m 1 /dev/vg00/lvol4
lvextend -m 1 /dev/vg00/lvol5
lvextend -m 1 /dev/vg00/lvol6
lvextend -m 1 /dev/vg00/lvol7
lvextend -m 1 /dev/vg00/lvol8

#lvlnboot -v #recheck it


6) Modify your alternate boot path to point to the mirror copy of the boot disk.
Note: Use the Hardware path for your new boot disk.
setboot -a 0/0/2/0.2.0

星期三, 11月 02, 2005

在HP UX 的機器上加入新硬碟

一.
(1)插入硬碟,並增加device path
(1.1)確認插入硬碟,硬碟燈號正常

(1.2)iosacn -fnC disk
輸出資料,可以看到新增硬碟

(1.3)insf -e
系統自動增加,device path,如/dev/dsk/c5t5d0
(1.4)iosacn -fnC disk
查看硬碟path 是否加入完成


(2)增加Pysical Volume
pvcreate /dev/rdsk/c5t5d0
一個設備,如果有兩個device path,只要加一個就可以了


(3)加入 Volume Group
vgextend vg01 /dev/dsk/c5t5d0
一個設備,如果有兩個device path,兩個都要加
vgextend vg01 /dev/dsk/c6t5d0

(4)vgexport -p -v -s -m /tmp/vg01.map /dev/vg01

(5)增加LogicalVolume的size
如果LogicalVolume 有mirror,且新舊硬碟容量不一,則設定Physical Volume Group會比較好.
lvextend -L 160000 /dev/vg01/lvol2 vg1pvg1 vg1pvg2
否則可能會Free PE還很多,系統卻顯示容量不足的情況.


若是 share disk ,則第二台需

(1.1)iosacn -fnC disk
輸出資料,可以看到新增硬碟

(1.2)insf -e
系統自動增加,device path,如/dev/dsk/c5t5d0
(1.3)iosacn -fnC disk
查看硬碟path 是否加入完成

(1.4)重新導入vg01

ls -l /dev/vg01/group (記下 major 及 minor number,如0x010000)
vgexport vg01
mkdir /dev/vg01
mknod /dev/vg01/group c 64 0x010000 (0x010000需和原來的majar及minor number一樣)
vgimport -s -v -m /tmp/vg01.map /dev/vg01

改變 user,group owner 及 mode
chown aaa.bbb /dev/vg01/lvol*
chown aaa.bbb /dev/vg01/rlvol*
chown 660 /dev/vg01/lvol*
chown 660 /dev/vg01/rlvol*

正規表示式(一)

在字串的搜尋比對中,最常用的是正規表示式.但是對一個沒學過的人正規表示式來說,就像看到一個火星文.
因此參考了一些網路上的文章,並加以整理.

  • 用途
    • 用在字串搜尋、比對、替代
    • 正規表示式常配合一些程式使用,常見的有 grep,find,awk,sed等
    • 或是用在程式語言中,如

  • 基本語法
    • * 代表0個或一個重覆
    • . 存在一個
    • ^ 字首符合
    • $ 字尾符合
    • \ 跳脫字元
    • {2} 重覆n個
    • {n,m} 重覆n 到m個
    • [] list
      • [abc] a或b或c
      • [a-z] a,b,c.....z
      • [^a] not a

  • 延伸語法
    • + 一個或一個以上
    • ? 零個或一個
    • | or
    • () 集合
  • 注意事項
    • {n,m} 用在shell時,因為 {及 }是特殊字元,所以使用 \{n,m\}