Chinaunix

标题: 性能检查时发现Wait 指数太高,一般是什么原因造成? [打印本页]

作者: hyunique    时间: 2006-12-20 12:06
标题: 性能检查时发现Wait 指数太高,一般是什么原因造成?
用 topas命令检查发现Wait 指数太高,一般是什么原因造成?
Wait     50.0   |##############
作者: dong_jh    时间: 2006-12-20 12:22
IO太弱,另外有nfs吗?
作者: feiaix    时间: 2006-12-20 16:11
I/O瓶颈,建议优化一下。
作者: hyunique    时间: 2006-12-21 08:47
I/O瓶颈 应该怎么优化??
作者: hyunique    时间: 2006-12-21 16:13
/O瓶颈 应该怎么优化??
作者: hyunique    时间: 2006-12-21 16:41
Topas Monitor for host:    hzfcs03              EVENTS/QUEUES    FILE/TTY
Thu Dec 21 15:45:30 2006   Interval:  2         Cswitch     311  Readch    18093
                                                Syscall     459  Writech   32282
Kernel    0.2   |#                           |  Reads        14  Rawin         0
User      0.2   |#                           |  Writes       22  Ttyout      564
Wait     49.8   |##############              |  Forks         0  Igets         0
Idle     49.8   |##############              |  Execs         0  Namei         0
                                                Runqueue    0.0  Dirblk        0
Network  KBPS   I-Pack  O-Pack   KB-In  KB-Out  Waitqueue   1.0
lo0      37.2     18.0    18.0    18.6    18.6
en0       0.6      1.0     0.5     0.0     0.6  PAGING           MEMORY
                                                Faults        0  Real,MB    2048
Disk    Busy%     KBPS     TPS KB-Read KB-Writ  Steals        0  % Comp     81.3
hdisk2    1.0     12.0     1.5     0.0    12.0  PgspIn        0  % Noncomp  18.8
hdisk0    0.0      0.0     0.0     0.0     0.0  PgspOut       0  % Client   20.7
hdisk1    0.0      0.0     0.0     0.0     0.0  PageIn        0
cd0       0.0      0.0     0.0     0.0     0.0  PageOut       0  PAGING SPACE
                                                Sios          0  Size,MB    4096
Name            PID  CPU%  PgSp Owner                            % Used     15.9
opmn         401642   0.6  17.6 applprod        NFS (calls/sec)  % Free     84.0
topas        696464   0.2   1.6 root            ServerV2       0
webcache     532530   0.1  31.5 applprod        ClientV2       0   Press:
webcache     667734   0.1  10.0 applprod        ServerV3       0   "h" for help
syncd         77902   0.0   0.5 root            ClientV3       0   "q" to quit
gil           49176   0.0   0.1 root   
oracle       159922   0.0   4.0 oracle  
java         540680   0.0 168.7 applprod
xmgc          36882   0.0   0.0 root  
java         655436   0.0  80.5 applprod
java         634956   0.0  41.5 applprod
sched         12294   0.0   0.0 root   
aioserve     467180   0.0   0.1 root   
aioserve     352434   0.0   0.1 root   
oracle       180362   0.0   3.9 oracle
作者: sealove138    时间: 2006-12-21 16:45
加内存 硬盘 什么都可以
作者: hyunique    时间: 2006-12-21 20:10
检查了硬盘都没什么读写的啊。
作者: chinadns    时间: 2006-12-21 22:41
操作系统哪个版本
作者: hyunique    时间: 2006-12-22 08:46
# oslevel
5.3.0.0
作者: hyunique    时间: 2006-12-22 08:46
# vmstat 1 10

System configuration: lcpu=2 mem=2048MB

kthr    memory              page              faults        cpu   
----- ----------- ------------------------ ------------ -----------
r  b   avm   fre  re  pi  po  fr   sr  cy  in   sy  cs us sy id wa
0  0 557177  2851   0   0   0   0    0   0   5  422 329  0  0 50 50
2  1 557178  2850   0   0   0   0    0   0   5  431 337  0  0 49 51
0  1 557178  2850   0   0   0   0    0   0   2 68786 766  1  5 49 45
0  1 557178  2850   0   0   0   0    0   0  12  531 361  0  0 49 50
0  1 557178  2850   0   0   0   0    0   0   6  379 315  0  0 50 50
作者: feiaix    时间: 2006-12-22 09:12
看你得I/O,也不高呀,CPU使用也不高呀,PG也不高,有点奇怪,能重启得话先重起看看,再看看应用程序有没有什么问题。
作者: wpxp    时间: 2006-12-22 10:04
打补丁吧,5.3.0.0 都没升级,打到05吧
作者: hyunique    时间: 2006-12-22 10:26
# oslevel -r
5300-04
作者: 学习者yang    时间: 2006-12-22 11:16
把nfs关掉试试
作者: hyunique    时间: 2006-12-22 11:37
请问nfs怎么关?
作者: wolfop    时间: 2006-12-22 13:47
iostat 1 100
贴出来看看。
作者: hyunique    时间: 2006-12-22 14:25
现在wait升到90%了
Topas Monitor for host:    hzfcs03              EVENTS/QUEUES    FILE/TTY
Fri Dec 22 13:27:01 2006   Interval:  2         Cswitch    3489  Readch   365.3K
                                                Syscall    3716  Writech  370.2K
Kernel    4.0   |##                          |  Reads      1627  Rawin         0
User      4.2   |##                          |  Writes     1604  Ttyout      615
Wait     91.8   |##########################  |  Forks         0  Igets         0
Idle      0.0   |                            |  Execs         0  Namei         0
                                                Runqueue    0.5  Dirblk        0
Network  KBPS   I-Pack  O-Pack   KB-In  KB-Out  Waitqueue   3.0
en0     828.7   1617.0  1593.0   405.6   423.2
lo0      41.4     35.5    35.5    20.7    20.7  PAGING           MEMORY
                                                Faults       38  Real,MB    2048
Disk    Busy%     KBPS     TPS KB-Read KB-Writ  Steals        0  % Comp     83.9
作者: hyunique    时间: 2006-12-22 14:26
# iostat 1 10

System configuration: lcpu=2 drives=4 paths=2 vdisks=0

tty:      tin         tout    avg-cpu: % user % sys % idle % iowait
          4.0         61.4                7.9   5.0    0.0     87.1

Disks:        % tm_act     Kbps      tps    Kb_read   Kb_wrtn
hdisk1           4.0     221.8       5.9          0       224
hdisk0           4.0     221.8       5.9          0       224
hdisk2           2.0      23.8       3.0          0        24
cd0              0.0       0.0       0.0          0         0

tty:      tin         tout    avg-cpu: % user % sys % idle % iowait
          1.0        7529.0                6.5  10.0    0.0     83.5

Disks:        % tm_act     Kbps      tps    Kb_read   Kb_wrtn
hdisk1           0.0       0.0       0.0          0         0
hdisk0           2.0       8.0       2.0          8         0
hdisk2           2.0      12.0       3.0         12         0
cd0              0.0       0.0       0.0          0         0

tty:      tin         tout    avg-cpu: % user % sys % idle % iowait
          0.0        458.0               18.5   3.5    0.0     78.0

Disks:        % tm_act     Kbps      tps    Kb_read   Kb_wrtn
hdisk1           4.0     260.0       5.0          0       260
hdisk0          21.0     368.0      33.0        108       260
hdisk2           0.0       0.0       0.0          0         0
cd0              0.0       0.0       0.0          0         0

tty:      tin         tout    avg-cpu: % user % sys % idle % iowait
          0.0        457.0               27.0   0.5    0.0     72.5

Disks:        % tm_act     Kbps      tps    Kb_read   Kb_wrtn
hdisk1           0.0       0.0       0.0          0         0
hdisk0          47.0     312.0      78.0        312         0
hdisk2           4.0      80.0       7.0          8        72
cd0              0.0       0.0       0.0          0         0

tty:      tin         tout    avg-cpu: % user % sys % idle % iowait
          0.0        457.0               34.5   0.0    0.0     65.5

Disks:        % tm_act     Kbps      tps    Kb_read   Kb_wrtn
hdisk1           0.0       0.0       0.0          0         0
hdisk0          30.0     168.0      41.0        168         0
hdisk2           0.0       0.0       0.0          0         0
cd0              0.0       0.0       0.0          0         0

tty:      tin         tout    avg-cpu: % user % sys % idle % iowait
          0.0        457.0               33.0   0.5    0.0     66.5

Disks:        % tm_act     Kbps      tps    Kb_read   Kb_wrtn
hdisk1           0.0       0.0       0.0          0         0
hdisk0          33.0     268.0      68.0        268         0
hdisk2           0.0       0.0       0.0          0         0
cd0              0.0       0.0       0.0          0         0
作者: citron    时间: 2006-12-22 15:12
有没有数据库的应用,我碰到过这种情况,不小心把数据库建在和应用程序装在同一个磁盘上了,结果数据库在insert,应用程序在写日志,导致IO的wait达到了90%多。后来分到不同磁盘就好了
作者: hyunique    时间: 2006-12-22 15:27
你说的同一个磁盘上,是指同一个物理硬盘吗?
作者: hyunique    时间: 2006-12-25 08:59
Kernel    0.2   |#                           |  Reads        14  Rawin         0
User      0.2   |#                           |  Writes       20  Ttyout      553
Wait     99.8   |############################|  Forks         0  Igets         0
Idle      0.0   |                            |  Execs         0  Namei         0
                                                Runqueue    0.0  Dirblk        0

现在Wait 已经  99.8%  了啊,有没高手快来指点一下啊。
作者: cuitaotao    时间: 2006-12-25 09:25
你的cpu idel都是0了,说明cpu很忙,wait当然高了,看看什么进程占用cpu。
作者: mengqs    时间: 2006-12-25 13:01
呵呵,CPU不是很忙,是很闲,闲的没事干!
作者: hyunique    时间: 2006-12-25 13:49
原帖由 mengqs 于 2006-12-25 13:01 发表
呵呵,CPU不是很忙,是很闲,闲的没事干!

为什么wait会这么高啊
作者: hyunique    时间: 2006-12-25 13:50
这个是应用程序的问题,还硬件本身的问题?
作者: RS9000    时间: 2006-12-25 16:07
1、硬件本身资源限制,比如硬盘转速、总线得速度等,只在系统级别调整改善的空间很小。
2、设计问题,软件资源设计的不合理,应用应该尽量的平均分配到不同的物理盘上。
3、应用问题,应用写的不好,不过改动的可能性很小。
如果调整后系统IO依然不能满足要求,换更快的存储吧!
作者: hyunique    时间: 2006-12-26 09:17
如果我把应用系统停掉,然后来测一下系统I/O的性能,以及存储的性能。用什么方法来测比较好。
或者哪位大侠有没有这方面的脚本
作者: hyunique    时间: 2006-12-26 16:46
自己顶一下。
作者: litian0061    时间: 2006-12-27 00:39
dd
作者: 梧桐影    时间: 2006-12-27 15:09
wait高就是在等待I/O中耗费资源呢。。。。
作者: 梧桐影    时间: 2006-12-27 15:12
原帖由 hyunique 于 2006-12-25 08:59 发表
Kernel    0.2   |#                           |  Reads        14  Rawin         0
User      0.2   |#                           |  Writes       20  Ttyout      553
Wait     99.8   |################ ...



Kernel    0.2
User      0.2

是闲得没事干。都在等待IO忙过来理它呢。。。
作者: hyunique    时间: 2006-12-28 08:43
Disks:        % tm_act     Kbps      tps    Kb_read   Kb_wrtn
hdisk1           0.3      16.2       0.5     160126  13204502
hdisk0           0.5      18.3       0.9    1860142  13204502
hdisk2           1.3      39.2       2.5   10299781  21988808
但是磁盘的I/O也不忙啊。
作者: hyunique    时间: 2006-12-28 10:15
有没有什么命令能够看出来什么进程占用了wait 资源
作者: hyunique    时间: 2006-12-28 10:27
# ps aux
USER        PID %CPU %MEM   SZ  RSS    TTY STAT    STIME  TIME COMMAND
root       8196 47.3  0.0   40   36      - A      Dec 18 13078:05 wait
root      40980 46.4  0.0   40   36      - A      Dec 18 12825:04 wait

这两个进程是什么用的啊。占用了这么多CPU资源,在wait,但又杀不掉。
# kill -9 8196
kill: 8196: 0403-003 The specified process does not exist.
高手快帮我解决一下啊。现在wait指数99。2%了啊。
Wait     99.2   |############################|
作者: chinadns    时间: 2006-12-28 20:15
ps aux的wait为CPU空闲进程

停应用呢,还这样么
作者: 太阳树    时间: 2006-12-28 23:04
有点意思!
作者: yddll    时间: 2006-12-29 00:13
呵呵,java型的应用
作者: hyunique    时间: 2007-01-02 09:37
应用停掉马上恢复正常。
应用一起来过一小时wait指数马上升到99%
作者: 狗拿耗子    时间: 2007-01-02 14:35
太奇怪了!没有进程占用太多CPU,内存有空闲,磁盘不忙,网络不忙。
建议你查一下系统的日志,再查一下存储的日志,看一下有没有报错。
再做一个diag。
作者: hyunique    时间: 2007-01-02 14:42
系统日志没有报错啊。
存储的日志怎么查?
作者: qingcaimaomao    时间: 2007-01-02 21:35
你是什么应用???
如果有数据库的话,应该可以看到WAIT比较高的SESSION是在等待什么资源,或者可以看到什么资源造成的热点。
作者: hyunique    时间: 2007-01-03 09:09
有两个应用 
一个是oracle DB
一个是oracle Form Server
作者: unix_service    时间: 2007-01-04 09:38
看不出是I/O瓶颈,可能有僵死进程,重启应用,
作者: qingcaimaomao    时间: 2007-01-04 10:14
看来是比较典型的ORACLE ERP应用.现在的问题是在SESSION的级别上找到非空闲的WAIT事件,然后具体看下等待的是什么资源,从而找出问题。
1,执行这个SQL求等待事件
select sid,event,p1 as file_id, p2 as "block_id/latch", p3 as blocks,l.name
from v$session_wait sw,v$latch l
where event not like '%SQL%' and event not like '%rdbms%'
and event not like '%mon%' and sw.p2 = l.latch#(+);

2,找到热点
select owner,segment_name,segment_type
from dba_extents
where file_id = &file_id and &block_id between block_id
and block_id + &blocks - 1;

3,找到正在执行的问题SQL
select sql_text
from v$sqltext_with_newlines st,v$session se
where st.address=se.sql_address and st.hash_value=se.sql_hash_value
and se.sid =&wait_sid order by piece;
作者: hyunique    时间: 2007-01-17 15:43
找不到正在执行的SQL,
只要应用一启来,就算没跑什么业务wait指数就上去了。
作者: yddll    时间: 2007-01-17 18:05
你的应用时在单独的盘上吗
作者: 苏一瓜    时间: 2007-01-17 19:14
内存,CPU没问题
你3块都是内置盘吗
errpt
lsvg rootvg 看看PVs的状态
df -k 看看空间问题
ps  -ef |grep defun 看看有无僵死进程
你ps auxw 检查出来怀疑的进程用ps -ef |grep 进程号再检查一下
数据库有无锁等待现象:v$session v$lock(到oracle版搜搜)
作者: rain4321    时间: 2007-01-18 08:59
标题: 回复 48楼 苏一瓜 的帖子
我负责的服务器中,也有一台PDM应用服务器,其上两块内置盘;有时应用不知道为什么会出现与楼主相同的情况。我一般都是再重起应用,因为还与另一数据库连接,最好是把数据库shutdown再起来,应用全部停止再起来,不要只做一部分;(我的应用中还使用apache,有时只停其他的,也不好用,而且应用在使用过程中也报错,好像与数据库服务器之间的联系出错了;)由楼主说的都是数据库在此服务器上,与我的情况又不一样了。
作者: 天涯明月刀    时间: 2007-01-18 11:45
Topas Monitor for host:    hzfcs03              EVENTS/QUEUES    FILE/TTY
Thu Dec 21 15:45:30 2006   Interval:  2         Cswitch     311  Readch    18093
                                                Syscall     459  Writech   32282
Kernel    0.2   |#                           |  Reads        14  Rawin         0
User      0.2   |#                           |  Writes       22  Ttyout      564
Wait     49.8   |##############              |  Forks         0  Igets         0
Idle     49.8   |##############              |  Execs         0  Namei         0
                                                Runqueue    0.0  Dirblk        0
Network  KBPS   I-Pack  O-Pack   KB-In  KB-Out  Waitqueue   1.0
lo0      37.2     18.0    18.0    18.6    18.6
en0       0.6      1.0     0.5     0.0     0.6  PAGING           MEMORY
                                                Faults        0  Real,MB    2048
Disk    Busy%     KBPS     TPS KB-Read KB-Writ  Steals        0  % Comp     81.3
hdisk2    1.0     12.0     1.5     0.0    12.0  PgspIn        0  % Noncomp  18.8
hdisk0    0.0      0.0     0.0     0.0     0.0  PgspOut       0  % Client   20.7
hdisk1    0.0      0.0     0.0     0.0     0.0  PageIn        0
cd0       0.0      0.0     0.0     0.0     0.0  PageOut       0  PAGING SPACE


看上去内存和磁盘IO都还没什么问题啊,应该是应用问题
作者: sundivine    时间: 2007-01-18 11:55
建议将你的数据库数据文件平均分布到所有的磁盘上,将PAGING SPACE也平均分配到不同的磁盘上。查看补丁程序,建议打到5304CSP,应该比较稳定,你现在的版本比较低。
作者: lxqruth    时间: 2007-01-18 15:12
个人体会:
内存可能设置的太小了。
比如某个应用软件,你把他的内存设置的过小,有几个K的数据量,他就要写入硬盘一次,每次写入一点点,但是数据量大的话,要写的频率很高,这就导致了你的i/o过大,所以你看一下是不是内存用的很小,如果内存用的也很小,建议把关键应用软件的内存设大,这样i/o也就降低下来了。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2