Unix系统性能监控工具之

操作系统: AIX 5.3.9

Oracle:  Oracle 10gR2

SAR可用于监控Unix系统性能,帮助我们分析性能瓶颈。sar工具的使用方式为”sar [选项] intervar [count]”,其中interval为统计信息采样时间,count为采样次数。

RH442攻略之SAR

Linux 从 SAR 到 SAR2html 的认识

Linux SAR 性能计数器工具

Linux SAR用法

UNIX 中 SAR 命令的详细使用

Linux认证辅导:Linux SAR 命令

下文将说明如何使用sar获取以下性能分析数据:

整体CPU使用统计

各个CPU使用统计

内存使用情况统计

整体I/O情况

各个I/O设备情况

网络统计 

常用的选项包括:

-b:报告I/O使用情况以及传输速率。(只适用于2.5及之前的内核,所以新内核有可能不支持这个选项)

-B:报告“页”使用情况

-c:报告进程创建情况

-d:报告每一个块设备的使用情况

(当你使用时,你会发现在DEV列有类似dev1-7格式的字符串,

其中1代表设备的主序号,n代表设备的从序号,

而且rd_sec/s列和wr_sec/s列的单位都是512bytes,也就是512B,也就是0.5KB)

-I:汇报中断情况

-n:汇报网络情况

-P:设定CPU

-q:汇报队列长度和负载信息

-r:汇报内存和交换区使用情况

-R:汇报内存情况

-u:汇报CPU使用情况

-v:汇报i节点、文件和其他内核表信息

-w:汇报系统上下文切换情况

-x:可以针对某个特定PID给出统计信息,

可以直接指定进程ID号;

也可以指定为SELF,这样就是检测sar进程本身;

如果设定为ALL,则表示汇报所有系统进程信息。

-X:汇报特定PID的子进程的信息

-y:设定TTY设备的信息。


案例分析:

1、系统环境

[root@aix211 /]#lspv

hdisk0          00040f8aaa29d28e                    rootvg          active

hdisk1          000e1a6ce663b4af                    asmvg          active


[root@aix211 /]#lsvg -l asmvg

asmvg:

LV NAME            TYPE      LPs    PPs    PVs  LV STATE      MOUNT POINT

lv_asm1            jfs        64      64      1    open/syncd    N/A

lv_asm2            jfs        64      64      1    open/syncd    N/A

lv_asm3            jfs        64      64      1    open/syncd    N/A

lv_asm4            jfs        64      64      1    open/syncd    N/A


SQL> set linesize 120

SQL> select group_number,name,state from v$asm_diskgroup;

GROUP_NUMBER NAME                          STATE

------------ ------------------------------ -----------

1 DG1                            MOUNTED

2 RCY1                          MOUNTED


SQL> select GROUP_NUMBER,DISK_NUMBER,STATE,NAME,PATH from v$asm_disk;

GROUP_NUMBER DISK_NUMBER STATE    NAME                          PATH

------------ ----------- -------- ------------------------------ ------------------------

1          0 NORMAL  DG1_0000                      /dev/rlv_asm1

1          1 NORMAL  DG1_0001                      /dev/rlv_asm2

2          0 NORMAL  RCY1_0000                      /dev/rlv_asm3

2          1 NORMAL  RCY1_0001                      /dev/rlv_asm4


在hdisk1磁盘上建立ASMVG磁盘组,并建立逻辑卷;在逻辑卷的基础上,建立ASM disk;

2、数据库环境

SQL> set linesize 120

SQL> select file_id,file_name,tablespace_name from dba_data_files

FILE_ID FILE_NAME                                          TABLESPACE_NAME

---------- -------------------------------------------------- ---------------------------

6 +DG1/prod/datafile/tbs2.265.853498689              TBS2

4 +DG1/prod/datafile/users.261.848857443            USERS

3 +DG1/prod/datafile/sysaux.258.848857287            SYSAUX

2 +DG1/prod/datafile/undotbs1.260.848857407          UNDOTBS1

1 +DG1/prod/datafile/system.257.848857161            SYSTEM

5 +DG1/prod/datafile/example.259.848857363          EXAMPLE


SQL> select file_id,file_name,tablespace_name from dba_temp_files;


 FILE_ID FILE_NAME                                          TABLESPACE_NAME

---------- -------------------------------------------------- ---------------------------

2 +DG1/prod/tempfile/temp.262.848858041              TEMP


SQL> col member for a50

SQL> select group#,member from v$logfile order by 1;

GROUP# MEMBER

---------- --------------------------------------------------

5 +DG1/prod/onlinelog/group_5.263.848858213

5 +RCY1/prod/onlinelog/group_5.256.848858217

6 +DG1/prod/onlinelog/group_6.264.848858253

6 +RCY1/prod/onlinelog/group_6.257.848858259


SQL> show parameter log

123


NAME                                TYPE        VALUE

------------------------------------ ----------- ------------------------------

log_archive_dest_1                  string      location=/arch/arch_prod


2、案例(执行数据插入)

SQL> select * from tab;

TNAME                          TABTYPE  CLUSTERID

------------------------------ ------- ----------

DEPT                          TABLE

EMP                            TABLE

BONUS                          TABLE

SALGRADE                      TABLE

EMP1                          TABLE

DEPT1                          TABLE

6 rows selected.

SQL> create table t1 (id int);

Table created.

SQL> begin

2  for i in 1..100000 loop

3  execute immediate 'insert into t1 values ('||i||')';

4  end loop;

5  end;

6  /   

PL/SQL procedure successfully completed.

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/17740.html