phineas_li
作者phineas_li·2008-11-11 10:38
系统架构师·18m

AIX的性能监控

字数 14031阅读 675评论 0赞 0
常用的性能监控命令
机器性能优化主要从四个方面去考虑:CPU,内存,磁盘I/O,网络。
1,              CPU
sar命令
可以使用sar命令来查看cpu的使用率。
ibm150:[/]#sar 1 5

AIX ibm150 1 5 000AF70D4C00    01/24/06

13:13:25    %usr    %sys    %wio   %idle
13:13:26       0       0       0     100
13:13:27       0       0       0     100
13:13:28       0       0       0     100
13:13:29       0       0       0     100
13:13:30       0       0       0     100

Average        0       0       0     100

%usr + %sys  >  80% 的时候 CPU将是瓶颈

ibm150:[/]#ps aux | head -4         查看前3位占用cpu的进程
USER  PID  %CPU %MEM   SZ  RSS    TTY STAT    STIME  TIME COMMAND
root    774  49.7   8.0       12 18052      - A    10:07:58 188:24 wait
root    516  49.7   8.0       12 18052      - A    10:07:58 188:20 wait
root    5688  0.1   0.0       164  168      - A    10:09:13  0:21 /usr/sbin/syncd 6

%CPU表示进程使用cpu时间的百分比;%MEM表示进程使用实际内存的百分比

ps –elf 命令
将查看进程的优先级别

ibm150:[/]#ps -elf
F S UID PID PPID C  PRI   NI ADDR    SZ    WCHAN  STIME   TTY TIME CMD
200003 A     root     1     0   0  60 20 28034  1876          10:08:23 0:00 /etc/init
240401 A     root  2968  4502   0  60 20 2c376  2176        * 10:10:230:00 /usr/sbin/rsct/bin/IBM.ServiceRMd
  40001 A     root  3192     1   0  60 20 3417a  1472          10:09:00      -
0:00 /usr/dt/bin/dtlogin -daemon
240001 A     root  3730  4158   3  61 20 321b9  2568          10:10:19      -
0:20 dtgreet
PRI值越小,优先级越大。
NI值越大,优先级越小。
可以使用命令nice ,renice来修改NI值。

2,              MEMORY
vmstat命令
主要使用vmstat命令来查看虚拟内存和实际内存的使用率,看内存瓶颈主要是看ps的使用率,只要ps的使用率没有超过70%,内存的使用率为100%都是正常的。
ibm150:[/]#vmstat
kthr     memory             page              faults        cpu
----- ----------- ------------------------ ------------ -----------
r  b   avm   fre  re  pi  po  fr   sr  cy  in   sy  cs us sy id wa
1  1 45137 464235   0   0   0   0    0   0 248  523 333  0  0 99  0

Page表示页面调入调出的数量,pi po经常为非零值时,需要注意。
Wa 表示等待I/O的时间,不能太高
avm 活动虚拟页面,在进程运行中分配到工作段的页面空间数.  越小越好,单位为4K。
实际内存中 系统进程使用的(计算段) 工作段。该值与svmon –G中的virtual值相等。
fre  空闲列表的数量.一般不少于120,当fre少于120时,系统开始自动的kill进程去释放free list   越大越好,实际内存中空闲的frame数。
注意:avm不包括 文件系统缓存
The avm number will grow as more processes get started and/or existing processes allocate more working storage.

实际内存 页面数 =(avm+fre+文件系统缓存)×4k
文件系统缓存 =文件系统缓存+某些程序退出时未释放的文件页面
可以使用 vmstat -v查看文件系统缓存
当文件系统mount上的时候,对于内存区域有两个动作,第一为分配部分工作段,第二为分配部分文件系统缓存


lsps –a命令
查看pagespces的使用率
ibm150:[/]#lsps -a
Page Space  Physical Volume   Volume Group    Size   %Used  Active  Auto  Type
hd6         hdisk2            rootvg        2464MB       1     yes    no    lv

%used > 70% 内存将成瓶颈


svmon命令
可以查看物理内存的情况
ibm150:[/]#svmon –G       查看内存全局使用状况
ibm150:[/]#svmon -Pt 3     查看前三个占用内存的进程
HPUX下可以使用 lsof 查看

svmon -G ,topas,看出来都是20G内存,可ps gu或ps auxxx相加或使用svmon -U 相加却少了10G
使用svmon -P发现大量的aioserver占掉了内存,用ps -efk统计也是如此,原来是aioserver开得过多造成的。而aioserver属于kernel的,所以有些统计都不算在内。

1,              磁盘I/O
iostat命令
主要使用iostat命令查看磁盘I/O的负载
ibm150:[/]#iostat 1 2

tty:      tin         tout   avg-cpu:  % user    % sys     % idle    % iowait
         0.2          8.3               0.1      0.5       99.0       0.4

Disks:        % tm_act     Kbps      tps    Kb_read   Kb_wrtn
hdisk0           0.0       0.2       0.0       3157         0
hdisk1           0.1       1.3       0.1      12049      4640
hdisk2           0.0       0.1       0.0          5      1405
cd0              0.0       0.0       0.0          0         0

tty:      tin         tout   avg-cpu:  % user    % sys     % idle    % iowait
         0.0        476.6               0.0      1.0       99.0       0.0

Disks:        % tm_act     Kbps      tps    Kb_read   Kb_wrtn
hdisk0           0.0       0.0       0.0          0         0
hdisk1           0.0       0.0       0.0          0         0
hdisk2           0.0       0.0       0.0          0         0
cd0              0.0       0.0       0.0          0         0
A system is I/O bound, if:
%iowait > 25%, %tm_act > 70%



lvmstat命令
该命令查看单个lv,vg上的I/O流量
使用lvmstat 命令前需要用 -e选项 激活该命令:
ibm150:[/]#lvmstat -v rootvg –e
ibm150:[/]#lvmstat -v rootvg

Logical Volume       iocnt   Kb_read   Kb_wrtn      Kbps
hd4                   13         0        56      0.00
hd8                   11         0        44      0.00
hd2                    8         0        36      0.00
hd9var                 3         0        12      0.00
hd3                    1         0         4      0.00
loglv02                0         0         0      0.00
lv01                   0         0         0      0.00
sysb                   0         0         0      0.00
hd10opt                0         0         0      0.00
hd1                    0         0         0      0.00
hd6                    0         0         0      0.00
hd5                    0         0         0      0.00



ibm150:[/]#lvmstat -l hd4

Log_part  mirror#  iocnt   Kb_read   Kb_wrtn      Kbps
      1       1      36         0       156      0.00
      2       1       0         0         0      0.00
      3       1       0         0         0      0.00
      4       1       0         0         0      0.00
      5       1       0         0         0      0.00

filemon命令
To monitor the physical I/O activity of the virtual memory, logical volume,
    and physical volume levels of the file system, enter:

ibm150:[/]#filemon -o /tmp/filemon.out         开始监控磁盘I/O
ibm150:[/]#smitty trcstop                     停止监控并创建报告
ibm150:[/]#more /tmp/filemon.out              查看报告


topas  svmon
查看每个进程所占的IO

ibm150:[/]#topas –P


ibm150:[/]#svmon -P | more

2, network
topas命令
可以使用该命令查看所有的性能情况,包括CPU,内存,磁盘I/O,network
ibm150:[/]#topas

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

0

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

X社区推广