Benjamin Zhang

目前就职于中科院计算机网络信息中心,主要兴趣集中在数据库,操作系统,中间件。

【Oracle】Oracle的QMNC导致CPU100%

17 Jun 2019 » Oracle

Oracle的QMNC进程导致CPU100%

Oracle的版本:10.2.0.1

1.查看linux的负载现象

[oraarp@arpdb ~]$ top
top - 10:44:50 up 9 days, 23:46,  4 users,  load average: 1.17, 1.23, 1.24
Tasks: 320 total,   2 running, 318 sleeping,   0 stopped,   0 zombie
Cpu(s): 10.6%us,  0.3%sy,  0.0%ni, 89.0%id,  0.1%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:  16436740k total, 16332264k used,   104476k free,    99648k buffers
Swap: 16779884k total,   991444k used, 15788440k free, 11064104k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                     
 8352 oraarp    25   0 10.1g  24m  21m R 99.2  0.2  11442:44 oracle                       
23428 oraarp    15   0 10.1g 2.3g 2.3g S  7.8 14.8   2:18.70 oracle

可以看到,进程号8352,CPU100%。

2.查看进程qmnc

[oraarp@arpdb ~]$ ps -ef | grep 8352
oraarp    8352     1 98 Apr28 ?        7-22:42:48 ora_qmnc_arpdb
oraarp   26451 26079  0 10:44 pts/1    00:00:00 grep 8352

3.原因与解决方法:

The qmon coordinator process (QMNC) is constantly consuming CPU.

aq_tm_processes has been manually set to 10.

修改aq_tm_processes,重启数据库实例。metalink的文章为:文档 ID 738873.1

[oraarp@arpdb ~]$ sqlplus "/as sysdba"

SQL> show parameter aq_tm_processes;

NAME                                 TYPE
------------------------------------ ----------------------
VALUE
------------------------------
aq_tm_processes                      integer
10
SQL> alter system set aq_tm_processes=5 scope=spfile;

System altered.

重启数据库,故障问题解除。