ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 并行查询协调进程已经不存在但是子进程没有释放,消耗100%CPU

并行查询协调进程已经不存在但是子进程没有释放,消耗100%CPU

原创 Linux操作系统 作者:westzq1984 时间:2013-01-02 12:25:55 0 删除 编辑
1台HPUX服务器,CPU 100%,16CPU
但是ACTIVE的会话只有几个

操作系统上检查发现大约有10个并行进程消耗了几乎全部CPU

而数据库连检查这些进程时INACTIVE的。

查询v$px_session发现,这些并行进程的父协调进程已经不再了
通过v$process minus v$session也未发现异常的进程

检查TRC,发现该服务器异步IO未配置正确。
尝试oradebug SHORT_STACK 卡死
尝试gdb无权限,没法得到进程堆栈
尝试tusc,结果未安装

考虑此刻并行进程应该已经陷入了死循环,消耗大量的CPU
贸然杀掉怕造成更严重的异常的后果。

由于本数据库异步IO本来就有问题,本来系统IO压力就较大。打算等到计划内停机时在杀掉,顺便配置异步IO
询问客户能否重启。得到当前出账已经完成,可以重启。

尝试杀掉这些并行进程后,CPU立刻降至3%
顺便在重启了下库,配置了异步IO。
继续观察

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/8242091/viewspace-752002/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-04-06

  • 博文量
    251
  • 访问量
    1042190