免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4747 | 回复: 4
打印 上一主题 下一主题

发现oracle进程pmon占用大量CPU,不知道什么原因,急急急!!! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-12-11 08:59 |只看该作者 |倒序浏览
操作系统:SCO UNIXWARE  
ORACLE:8.1.7.0.0

发现oracle进程pmon占用大量CPU,不知道什么原因?现场情况如下:

1.用sar命令统计系统资源:
UnixWare cupposp-b 5 7.1.3 i386    09/19/06

11:15:22    %usr   %sys   %wio  %idle  %intr
11:15:23      25     75      0      0      0
11:15:24      30     70      0      0      0
11:15:25      30     70      0      0      0
11:15:26      40     60      0      0      0
11:15:27      27     73      0      0      0
11:15:28      35     65      0      0      0
11:15:29      28     72      0      0      0
11:15:30      26     74      0      0      0
11:15:31      31     69      0      0      0
11:15:32      30     70      0      0      0
Average       30     70      0      0      0


2.用ps按进程统计
PID     TTY     TIME       SIZE(MB) RSS(MB) %CPU   %MEM   USER  COMMAND
=============================================CPU===STAT==========================================
23848    -      00:18:56   103.61   103.61  99.91  0.16    oracle      ora_pmon_posp
8171     -      00:00:01   8.67     8.67    0.01   0.01    oracle      svrmgrl
7827     -      00:00:01   1.15     1.15    0.01   0.00    root        in.telnetd
985      -      00:00:12   1.63     1.63    0.00   0.00    root        /usr/sbin/syslogd
976      -      00:00:04   1.07     1.07    0.00   0.00    root        /usr/sbin/in.routed
939      -      00:06:13   0.75     0.75    0.00   0.00    root        /usr/sbin/dlpid
924      -      00:00:00   0.61     0.61    0.00   0.00    root        /usr/lib/mousemgr
894      -      00:00:03   1.82     1.82    0.00   0.00    root        /etc/ifor_sld
893      -      00:00:00   1.67     1.67    0.00   0.00    root        /etc/sco_cpd
892      -      00:00:07   3.08     3.08    0.00   0.00    root        /etc/ifor_pmd
=================================================================================================

3.用truss命令跟踪 ora_pmon_posp进程
14408:   sigaction(SIGWAITING, 0x08044888, 0x00000000)   = 0
14408:   prepblock(0xBFBA4800, 0xBFBA4800, 3)      = 0
14408:       Received signal #32, SIGWAITING [caught]
14408:   block(0x00000000)          Err#91 ERESTART
14408:   cancelblock()              = 0
14408:   setcontext(0x080444A4)
14408:   cancelblock()              = 0
14408:   setcontext(0xBFAD1CC4)
14408:   setcontext(0xBFB9F90C)
14408:   _lwp_kill(1, SIGWAITING)         = 0
14408:   sigprocmask(SIG_SETMASK, 0xBFB9FBA4, 0x00000000) = 0
14408:       Received signal #32, SIGWAITING [caught]
14408:         siginfo: SIGWAITING pid=14408 uid=102
14408:   sigprocmask(SIG_SETMASK, 0xBFB9FBA4, 0x00000000) = 0
14408:   sigaction(SIGWAITING, 0x0804444C, 0x00000000)   = 0
14408:   sigprocmask(SIG_SETMASK, 0xBFB9F8B0, 0x00000000) = 0
14408:   setcontext(0x080444D0)
14408:   sigaction(SIGWAITING, 0x08044888, 0x00000000)   = 0
14408:   prepblock(0xBFBA4800, 0xBFBA4800, 3)      = 0
14408:       Received signal #32, SIGWAITING [caught]
14408:   block(0x00000000)          Err#91 ERESTART
14408:   cancelblock()              = 0
14408:   setcontext(0x080444A4)
14408:   cancelblock()              = 0
14408:   setcontext(0xBFAD1CC4)
14408:   setcontext(0xBFB9F90C)
14408:   _lwp_kill(1, SIGWAITING)         = 0
14408:   sigprocmask(SIG_SETMASK, 0xBFB9FBA4, 0x00000000) = 0
14408:       Received signal #32, SIGWAITING [caught]
14408:         siginfo: SIGWAITING pid=14408 uid=102
14408:   sigprocmask(SIG_SETMASK, 0xBFB9FBA4, 0x00000000) = 0
14408:   sigaction(SIGWAITING, 0x0804444C, 0x00000000)   = 0
14408:   sigprocmask(SIG_SETMASK, 0xBFB9F8B0, 0x00000000) = 0
14408:   setcontext(0x080444D0)
14408:   sigaction(SIGWAITING, 0x08044888, 0x00000000)   = 0
14408:   prepblock(0xBFBA4800, 0xBFBA4800, 3)      = 0
14408:       Received signal #32, SIGWAITING [caught]
14408:   block(0x00000000)          Err#91 ERESTART
14408:   cancelblock()              = 0
14408:   setcontext(0x080444A4)
14408:   cancelblock()              = 0
14408:   setcontext(0xBFAD1CC4)
14408:   setcontext(0xBFB9F90C)
14408:   _lwp_kill(1, SIGWAITING)         = 0
14408:   sigprocmask(SIG_SETMASK, 0xBFB9FBA4, 0x00000000) = 0
14408:       Received signal #32, SIGWAITING [caught]
14408:         siginfo: SIGWAITING pid=14408 uid=102
14408:   sigprocmask(SIG_SETMASK, 0xBFB9FBA4, 0x00000000) = 0
14408:   setcontext(0x080444D0)
14408:   sigaction(SIGWAITING, 0x08044888, 0x00000000)   = 0
14408:   prepblock(0xBFBA4800, 0xBFBA4800, 3)      = 0
14408:       Received signal #32, SIGWAITING [caught]
14408:   block(0x00000000)          Err#91 ERESTART
14408:   cancelblock()              = 0
14408:   setcontext(0x080444A4)
14408:   cancelblock()              = 0
14408:   setcontext(0xBFAD1CC4)
14408:   setcontext(0xBFB9F90C)
14408:   _lwp_kill(1, SIGWAITING)         = 0
14408:   sigprocmask(SIG_SETMASK, 0xBFB9FBA4, 0x00000000) = 0
14408:       Received signal #32, SIGWAITING [caught]
14408:         siginfo: SIGWAITING pid=14408 uid=102
14408:   sigprocmask(SIG_SETMASK, 0xBFB9FBA4, 0x00000000) = 0
14408:   sigaction(SIGWAITING, 0x0804444C, 0x00000000)   = 0
14408:   sigprocmask(SIG_SETMASK, 0xBFB9F8B0, 0x00000000) = 0
14408:   setcontext(0x080444D0)
14408:   sigaction(SIGWAITING, 0x08044888, 0x00000000)   = 0
14408:   prepblock(0xBFBA4800, 0xBFBA4800, 3)      = 0
14408:       Received signal #32, SIGWAITING [caught]
14408:   block(0x00000000)          Err#91 ERESTART
14408:   cancelblock()              = 0
14408:   setcontext(0x080444A4)
.........................................................

3.当前数据库未做任何操作,用startup启来后就出现这样的情况

论坛徽章:
0
2 [报告]
发表于 2006-12-11 09:16 |只看该作者
it's possible that the process gets into a busy loop due to a bug

论坛徽章:
0
3 [报告]
发表于 2006-12-11 09:25 |只看该作者
前一次数据库是非正常关机?

察看一下alert_sid.log信息。

论坛徽章:
0
4 [报告]
发表于 2006-12-11 10:06 |只看该作者

alert.log日志

1.说明一点
   只是一个空实例,里面没建任何数据库,也没执行过任何SQL语句,起来后pmon进程就占用了99%左右的CPU,谢谢那位能给个明确的解释;

2.alert.log如下:
Starting ORACLE instance (normal)
LICENSE_MAX_SESSION = 0
LICENSE_SESSIONS_WARNING = 0
LICENSE_MAX_USERS = 0
Starting up ORACLE RDBMS Version: 8.1.7.0.0.
System parameters with non-default values:
  processes= 400
  event= 00604 trace name errorstack
  shared_pool_size= 104857600
  large_pool_size= 614400
  java_pool_size= 32768
  control_files= /home/oracle/oradata/testxy/control01.ctl, /home/or
acle/oradata/testxy/control02.ctl, /home/oracle/oradata/testxy/control03.ctl
  db_block_buffers= 25000
  db_block_size= 8192
  _db_handles_cached= 0
  compatible               = 8.1.0
  log_buffer               = 1638400
  log_checkpoint_interval  = 10000
  log_checkpoint_timeout   = 1800
  rollback_segments        = RBS01, RBS02, RBS03, RBS04
  max_enabled_roles        = 30
  remote_login_passwordfile= NONE
  instance_name            = testxy
  service_names            = testxy
  sort_area_size           = 65536
  sort_area_retained_size  = 65536
  db_name                  = testxy
  open_cursors             = 400
  os_authent_prefix        =
  background_dump_dest     = /home/oracle/admin/testxy/bdump
  user_dump_dest           = /home/oracle/admin/testxy/udump
  core_dump_dest           = /home/oracle/admin/testxy/cdump
PMON started with pid=2
DBW0 started with pid=3
LGWR started with pid=4
CKPT started with pid=5
SMON started with pid=6
RECO started with pid=7

论坛徽章:
0
5 [报告]
发表于 2006-12-11 11:10 |只看该作者
可能是OS bug

ptf7410i patch安装没有?
unixware多少版本,最好升级到7.1.3
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP