We’re using Oracle Weblogic 10.3.5.0 and Oracle Forms & Reports 11g R2 11.1.2.0 and have noticed that the cpu usage of the opmn process increases the more concurrent Oracle Forms users you have, to the point where it’s constantly hogging a single cpu with more than a few hundred users connected.
Running a truss on the opmn process indicates that it’s interrogating the /proc filesystem for every Forms Runtime process e.g.
4934/16: open("/proc/23356/xmap", O_RDONLY) = 14
4934/16: fcntl(14, F_SETFD, 0x00000001) = 0
4934/16: fstat(14, 0xFFFFFFFF77BFAE58) = 0
4934/16: pread(14, "01".., 28944, 0) = 28944
4934/16: pread(14, "01".., 43416, 0) = 43416
4934/16: pread(14, "01".., 57888, 0) = 57888
4934/16: pread(14, "01".., 72360, 0) = 72360
4934/16: pread(14, "01".., 86832, 0) = 85968
4934/16: close(14) = 0
4934/16: open("/proc/23356/psinfo", O_RDONLY) = 14
4934/16: fcntl(14, F_SETFD, 0x00000001) = 0
4934/16: read(14, "0201 [ <".., O_RDONLY) = 14
4934/16: fcntl(14, F_SETFD, 0x00000001) = 0
4934/16: read(14, "01".., 504) = 504
4934/16: close(14) = 0
4934/16: open("/proc/23356/status", O_RDONLY) = 14
4934/16: fcntl(14, F_SETFD, 0x00000001) = 0
4934/16: read(14, "t @ 001 [ <".., 1776) = 1776
4934/16: close(14) = 0
Similarly running an
$ORACLE_HOME/opmn/bin/opmnctl status
includes every single Forms Runtime process in its status list, and can be very slow to return.
That doesn’t sound like it’s going to be particularly scalable and was certainly causing us problems – but there’s very little in the way of documentation about it.
What we found was that removing the section
ias-component id="forms" type="FormsComponent"
process-type id="FormsRuntime" status="phantom"
/process-type
/ias-component
from the opmn.xml file in
$MW_HOME/asinst_1/config/OPMN/opmn
and then forcing a reload with
$ORACLE_HOME/opmn/bin/opmnctl reload
stopped the opmn process from monitoring the /proc fileystem for Forms Runtime processes, and the status command to just list the other components.
The CPU usage of opmn the process has now dropped dramatically, and the 11gAS web console is much more responsive than it was.
Not sure what other impact this change might have, although at this stage everything seems to be working as normal, so if you decide to use the change yourself make sure you test it out thoroughly first.