I encountered a problem with a listener running on a windows machine that had a 10G Oracle database and companion installed in separate ORACLE_HOMES. The ons.log file was HUGE under the companion install. And the listener was consuming the CPU. I found some posts on OTN compaining of the same. It turned out that there was a config problem with... I encountered a problem with a listener running on a windows machine that had a 10G Oracle database and companion installed in separate ORACLE_HOMES. The ons.log file was HUGE under the companion install. And the listener was consuming the CPU. I found some posts on OTN compaining of the same. It turned out that there was a config problem with the opmn process. Changing the ports in the ons.cnfig and in opmn.xml files solved the problem.
The errrs in the ons.log file were of the form:
Date Time Local connection 0,127.0.0.1,6100 missing form factor.

Read more http://billennis-ssts.blogspot.com/2008/02/very-busy-tnslsnr-process.html