Chinaunix首页 | 论坛 | 博客
  • 博客访问: 624130
  • 博文数量: 825
  • 博客积分: 5000
  • 博客等级: 大校
  • 技术积分: 4980
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-27 14:19
文章分类

全部博文(825)

文章存档

2011年(1)

2008年(824)

我的朋友

分类:

2008-10-27 14:28:31

    在这个案例中,主要重点就io这一块作分析。对于其他的,在这里就不作讨论。

      应用环境:

      两台P570作HA(Rotating方式),AIX 5.3 安装oracle 9206,磁阵DS4300,14块盘,6块作raid10为hdisk4,另外8块盘作raid10为hdisk5

      两台P630作HA(Rotating方式),AIX 5.1 安装oracle 9206,磁阵7133

      两个数据库各分担一定的功能。P570压力比较大。

      性能问题:

      最近,P570数据库上的数据库性能急剧下降,报表统计跑将近24个小时才能完成,严重影响白天正常的业务,给主机带来比较大的性能负担。

      检查过程(主要在P570上操作):

      1、使用topas查看一下操作系统的load情况。结果没想到topas无法运行了,得到的结果如下,根本无法刷新数据。

    Topas Monitor for host:    jsdxh_db01           EVENTS/QUEUES    FILE/TTY
    Thu Oct 25 13:58:32 2007   Interval:  2         Cswitch          Readch
                                                    Syscall          Writech
    Kernel          |                            |  Reads            Rawin
    User            |                            |  Writes           Ttyout
    Wait            |                            |  Forks            Igets
    Idle            |                            |  Execs            Namei
                                                    Runqueue         Dirblk
    Network  KBPS   I-Pack  O-Pack   KB-In  KB-Out  Waitqueue
                                                    PAGING           MEMORY
                                                    Faults           Real,MB
                                                    Steals           % Comp
    Disk    Busy%     KBPS     TPS KB-Read KB-Writ  PgspIn           % Noncomp
                                                    PgspOut          % Client
                                                    PageIn
                                                    PageOut          PAGING SPACE
                                                    Sios             Size,MB
                                                                     % Used
                                                    NFS (calls/sec)  % Free
                                                    ServerV2
                                                    ClientV2           Press:
                                                    ServerV3           "h" for help
                                                    ClientV3           "q" to quit


    2、安装nmon_aix53(操作系统为5.3),结果nmon_aix53运行也报错。

    #./nmon_aix53
    ERROR: Assert Failure in file="nmon11.c" in function="main" at line=3239
    ERROR: Reason=NULL pointer
    ERROR: Expression=[[q->procs = MALLOC(sizeof(struct procentry64 ) * n )]]
    ERROR: errno=12
    ERROR: errno means : Not enough space


    3、检查进程情况

      #ps -ef | wc -l
      9947


      竟然总共已经产生了9000多个进程。在这众多的进程中可以发现有很多的defunct进程。

    #ps -ef |grep defunct | wc -l
    9331
    ##ps -ef | grep defunct | more
        root   159952        1   0                  0:00
        root   172052        1   0                  0:00
        root   225294        1   1                  0:00
        root   262236        1   0                  0:00
        root   290902        1   0                  0:00


      在网上随便查一下defunct,就可以知道,这是孤儿进程。已经找不到父进程,所以把init(PID 1)作为他的父进程。上面的结果中就是PPID=1。孤儿进程无法用kill -9 来清除,即使是root用户也不行,只能重启。这些孤儿进程一般情况下都是由于不当的fork ()/execve()造成的。

      继续检查系统,不知道这么多的孤儿进程是哪个产生的。看一下主机系统的报错情况。

    #errpt |more
    IDENTIFIER TIMESTAMP  T C RESOURCE_NAME  DESCRIPTION
    A63BEB70   1025140007 P S SYSPROC        SOFTWARE PROGRAM ABNORMALLY TERMINATED
    A63BEB70   1025133007 P S SYSPROC        SOFTWARE PROGRAM ABNORMALLY TERMINATED
    A63BEB70   1025130007 P S SYSPROC        SOFTWARE PROGRAM ABNORMALLY TERMINATED
    A63BEB70   1025123007 P S SYSPROC        SOFTWARE PROGRAM ABNORMALLY TERMINATED
    A63BEB70   1025120007 P S SYSPROC        SOFTWARE PROGRAM ABNORMALLY TERMINATED


      在这里,可以看到频繁的这个报错。基本每隔半个小时报错一次。再检查详细的错误。可以定位到原来是由于一个网管监控软件造成的这个错误。基本也可以判断,由于整个软件的不当的fork调用,导致了数量惊人的孤儿进程。

      现在孤儿进程的问题基本确定了,但是这个孤儿进程到目前为止,对系统造成的影响有多大?网上搜了一把,孤儿进程一般不占用内存,不占用空间,只不过是在进程列表中占了一个位置,所以并不会对系统性能产生太严重的影响。当然,如果任期发展,有可能就会使主机hang住。在这里,网管系统是以root用户运行的,进程数的限制非常大。所以,这里孤儿进程应该只是一个隐患,并不是对当前性能造成影响的原因。

    4、检查cpu的使用情况,

    #vmstat 1 10
    System configuration: lcpu=16 mem=23552MB
    kthr    memory              page              faults        cpu
    ----- ----------- ------------------------ ------------ -----------
     r  b   avm   fre  re  pi  po  fr   sr  cy  in   sy  cs us sy id wa
     4  0 3533226 2251446   0   0   0   0    0   0 3167 323907 7321 22  9 32 37
     1  0 3533229 2251443   0   0   0   0    0   0 1863 313913 4784 18  8 40 34
     2  0 3533229 2251443   0   0   0   0    0   0 3004 319720 6939 19  9 35 38

      Cpu的使用率基本在65%左右,wa基本在35%到40%,io等待比较严重。

[1]    

【责编:Ken】

--------------------next---------------------

阅读(333) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~