The vxdbd process is consuming too much cpu and increases over time

Article:TECH165711  |  Created: 2011-07-27  |  Updated: 2011-12-30  |  Article URL http://www.symantec.com/docs/TECH165711
Article Type
Technical Solution


Environment

Issue



In one example, the process vxdbd_51 is consuming from 4.2% up to 13% of one cpu.


Error



# prstat
  PID USERNAME  SIZE   RSS STATE  PRI NICE      TIME  CPU PROCESS/NLWP
25674 root       10M   10M run     60    0   2:02:07 4.2% vxdbd_510/12


Environment



Oracle database instance using vxdbd process

SFHA 5.1SP1

Solaris 10 SPARC


Cause



Analysis shows vxdbd daemon looping in vxdbd_handle_connection() doing read/write to sockets that are in an IDLE state. Restarting vxdbd removes the looping threads but they return and gradually grow in number over time. There is a inconsistency of return value from read_n() function and how the return value is checked in the parent function while loop pointed in this incident. Normally read_n() should wait until something is available in socket(). In this case read failed with -1, and code does not handle this correctly.


Solution



A work-around is to stop and restart the vxdbd daemon. See TECH124587 (see the link below) for details on how to perform this action.

Fix available in SFHA 5.1SP1RP2 for both SPARC and x86 architectures.





Article URL http://www.symantec.com/docs/TECH165711


Terms of use for this information are found in Legal Notices