   |  | | -none- | -none- 2004-06-13 - By -not available-
is responsibility of each type of thread, at the moment.
c) In addition there is garbage collector process.
There is many information in the Web regarding this type of process.
For example
http://java.sun.com/docs/hotspot/gc1.4.2
http://java.sun.com/docs/hotspot/gc1.4.2/faq.html
http://www.cons.org/cmucl/doc/gc-tuning.html
etc.
-verbose:gc parameter usage is helpful in diagnostic process.
II. The TOP parameters you need to look on is:
a)
File $OH/opmn/conf/opmn.xml
numProcs=3D "1 "
<java-option value=3D "-Xms1024M -Xmx1024M "/ >
<log-file path=3D "$OH//opmn/logs/ipm.log " level=3D "3 "/ >
<log-file path=3D "$OH/opmn/logs/ons.log " level=3D "3 "/ >
b)
File $OH/j2ee/ <component name >/config/server.xml
<global-thread-pool min=3D "100 " max=3D "200 " queue=3D "120 " keepAlive=3D "6000=
00 "=20
cx-min=3D "100 " cx-max=3D "200 " cx-que ue=3D "120 " cx-keepAlive=3D "600000 "=20
debug=3D "true " / >
taskmanager-granularity=3D "9000000 "
transaction-config timeout=3D "500000 "
c)
File $OH/j2ee/ <component name >/config/oc4j.properties
If you use BC4J.
jbo.pers.max.active.nodes=3D1000
jbo.pers.max.rows.per.node=3D1000
jbo.doconnectionpooling=3Dtrue
jbo.initpoolsize=3D1
jbo.maxpoolsize=3D550
jbo.poolminavailablesize=3D0
jbo.poolmaxavailablesize=3D600
jbo.poolmonitorsleepinterval=3D600000
jbo.poolmaxinactiveage=3D600000
jbo.ampool.initpoolsize=3D1
jbo.ampool.maxpoolsize=3D550
jbo.ampool.minavailablesize=3D0
jbo.ampool.maxavailablesize=3D100
jbo.ampool.monitorsleepinterval=3D600000
jbo.ampool.maxinactiveage=3D600000
Hope this information will help you.
--=_alternative 005E7C4FC2256EB2_=
Content-Type: text/html; charset= "windows-1257 "
Content-Transfer-Encoding: quoted-printable
<br > <font size=3D2 face=3D "sans-serif " >OC4J Process Architecture </font >
<br >
<br > <font size=3D2 face=3D "sans-serif " >1 year ago, management of the company
I am working for decided to switch all development projects to J2EE archite=
cture
(OC4J). </font >
<br >
<br > <font size=3D2 face=3D "sans-serif " >Within the year, we have running in
many technical problems connected to OC4J (stability hanging, java deadlock=
s,
performance problems etc). We have logged many (~10) long (100KB of text,
2-4 mount) TARs to Oracle support. Generally there no many help from Oracle
side. I have filling there no strong competence from Oracle analyst=92s
side ;( </font >
<br >
<br > <font size=3D2 face=3D "sans-serif " >We have learned a lot about OC4J arc=
hitecture,
parameters etc. during this time (see information below). But at the moment
I still have filling that we are working in the dark, using black box metho=
d. </font >
<br >
<br > <font size=3D2 face=3D "sans-serif " >I will try to explain that I mean, by
comparing Oracle Database & Oracle OC4J. </font >
<br > <font size=3D2 face=3D "sans-serif " >There excellent documentation regard=
ing
Oracle Database architecture (Oracle Concepts). There is good description
about each Database process PMON, SMON, etc, there is one process per conne=
ction
(in dedicated configuration), there is many diagnostic possibilities etc.
If I have performance issue with Oracle Database, first of all I will take
a look on TOP CPU consumers from OS respective, then I=92ll go forward to
Oracle statistics or switching 10046 event etc. </font >
<br >
<br > <font size=3D2 face=3D "sans-serif " >As opposite, take a look on OC4J. Th=
ere
is no any information like mentioned above regarding OC4J, not in Oracle
documentation, not in the Web ;(. There is just one process, which represent
OC4J from OS. If there is performance issue with OC4J, we can=92t say a
lot regarding which process/activity/piece of code takes CPU etc. </font >
<br >
<br > <font size=3D2 face=3D "sans-serif " >My question is: </font >
<br > <font size=3D2 face=3D "sans-serif " >- Do you know any good information s=
ource
about OC4J architecture; there will be described internals (processes,
communications flows etc); </font >
<br > <font size=3D2 face=3D "sans-serif " >- Do you know good courses regarding
this theme? </font >
<br > <font size=3D2 face=3D "sans-serif " >- Information about any related book
is welcomed? </font >
<br > <font size=3D2 face=3D "sans-serif " >- Can you share you experience worki=
ng
on OC4J problems? </font >
<br >
<br > <font size=3D2 face=3D "sans-serif " >Thank you in advance, </font >
<br > <font size=3D2 face=3D "sans-serif " >Jurijs </font >
<br >
<br >
<br > <font size=3D2 face=3D "sans-serif " >=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D </font >
<br > <font size=3D2 face=3D "sans-serif " >I would like to share information th=
at
we have regarding OC4J architecture (see below). </font >
<br > <font size=3D2 face=3D "sans-serif " >=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D </font >
<br >
<br > <font size=3D2 face=3D "sans-serif " >I. </font >
<br > <font size=3D2 face=3D "sans-serif " >Processes/Threads </font >
<br > <font size=3D2 face=3D "sans-serif " >As I mentioned above OC4J from OS lo=
oks
like one process, which consume HW resources. OC4J use threads architecture
for endow concurrency. You can see threads dump in the Java output (in
$OH opmn/logs/<component name>.default=5Fisland.1 log file by
default) by running </font >
<br > <font size=3D2 face=3D "sans-serif " >a) </font >
<br > <font size=3D2 face=3D "sans-serif " >kill =963 <oc4j pid> </font >
<br > <font size=3D2 face=3D "sans-serif " >command (this is any java process be=
havior,
I believe). </font >
<br > <font size=3D2 face=3D "sans-serif " >From dump we can see main threads li=
st,
as well as information about java deadlocks if any. </font >
<br > <font size=3D2 face=3D "sans-serif " >b) Below is thread types list you can
see in the java output by running kill =963 command: </font >
<br > <font size=3D2 face=3D "sans-serif " >=3D=3D=3D </font >
<br > <font size=3D2 face=3D "sans-serif " >AJPConnectionListener [0.0.0.0/0.0.0=
.0:3001] </font >
<br > <font size=3D2 face=3D "sans-serif " >ApplicationServerThread-0 </font >
<br > <font size=3D2 face=3D "sans-serif " >Finalizer </font >
<br > <font size=3D2 face=3D "sans-serif " >JMSServer </font >
<br > <font size=3D2 face=3D "sans-serif " >OC4JMonitorThread </font >
<br > <font size=3D2 face=3D "sans-serif " >Reference Handler </font >
<br > <font size=3D2 face=3D "sans-serif " >RMIServer [0.0.0.0/0.0.0.0:3101] cou=
nt:2 </font >
<br > <font size=3D2 face=3D "sans-serif " >Signal Dispatcher </font >
<br > <font size=3D2 face=3D "sans-serif " >Suspend Checker Thread </font >
<br > <font size=3D2 face=3D "sans-serif " >TaskManager </font >
<br > <font size=3D2 face=3D "sans-serif " >Thread </font >
<br > <font size=3D2 face=3D "sans-serif " >VM Periodic Task Thread </font >
<br > <font size=3D2 face=3D "sans-serif " >VM Thread </font >
<br > <font size=3D2 face=3D "sans-serif " >=3D=3D=3D </font >
<br > <font size=3D2 face=3D "sans-serif " >Unfortunately I don=92t have informa=
tion
about algorithms of work and what is responsibility of each type of thread,
at the moment. </font >
<br > <font size=3D2 face=3D "sans-serif " >c) In addition there is garbage coll=
ector
process. </font >
<br > <font size=3D2 face=3D "sans-serif " >There is many information in the Web
regarding this type of process. </font >
<br > <font size=3D2 face=3D "sans-serif " >For example </font >
<br > <font size=3D2 face=3D "sans-serif " >http://java.sun.com/docs/hotspot/gc1=
.4.2 </font >
<br > <font size=3D2 face=3D "sans-serif " >http://java.sun.com/docs/hotspot/gc1=
.4.2/faq.html </font >
<br > <font size=3D2 face=3D "sans-serif " >http://www.cons.org/cmucl/doc/gc-tun=
ing.html </font >
<br > <font size=3D2 face=3D "sans-serif " >etc. </font >
<br > <font size=3D2 face=3D "sans-serif " >-verbose:gc parameter usage is helpf=
ul
in diagnostic process. </font >
<br >
<br > <font size=3D2 face=3D "sans-serif " >II. The TOP parameters you need to l=
ook
on is: </font >
<br > <font size=3D2 face=3D "sans-serif " >a) </font >
<br > <font size=3D2 face=3D "sans-serif " >File $OH/opmn/conf/opmn.xml </font >
<br > <font size=3D2 face=3D "sans-serif " >numProcs=3D"1" </font >
<br > <font size=3D2 face=3D "sans-serif " ><java-option value=3D"-Xms10=
24M
-Xmx1024M "/> </font >
<br > <font size=3D2 face=3D "sans-serif " ><log-file path=3D"$OH//opmn/=
logs/ipm.log"
level=3D"3"/> </font >
<br > <font size=3D2 face=3D "sans-serif " ><log-file path=3D"$OH/opmn/l=
ogs/ons.log"
level=3D"3"/> </font >
<br > <font size=3D2 face=3D "sans-serif " >b) </font >
<br > <font size=3D2 face=3D "sans-serif " >File $OH/j2ee/<component name>=
/config/server.xml </font >
<br > <font size=3D2 face=3D "sans-serif " ><global-thread-pool min=3D"1=
00"
max=3D"200" queue=3D"120" keepAlive=3D"600000"
cx-min=3D"100" cx-max=3D"200" cx-que ue=3D"120&quo=
t;
cx-keepAlive=3D"600000" debug=3D"true" /> </font >
<br > <font size=3D2 face=3D "sans-serif " >taskmanager-granularity=3D"9000=
000" </font >
<br > <font size=3D2 face=3D "sans-serif " >transaction-config timeout=3D"5=
00000" </font >
<br > <font size=3D2 face=3D "sans-serif " >c) </font >
<br > <font size=3D2 face=3D "sans-serif " >File $OH/j2ee/<component name>=
/config/oc4j.properties </font >
<br > <font size=3D2 face=3D "sans-serif " >If you use BC4J. </font >
<br > <font size=3D2 face=3D "sans-serif " >jbo.pers.max.active.nodes=3D1000 </fo=
nt >
<br > <font size=3D2 face=3D "sans-serif " >jbo.pers.max.rows.per.node=3D1000 </f=
ont >
<br > <font size=3D2 face=3D "sans-serif " >jbo.doconnectionpooling=3Dtrue </font >
<br > <font size=3D2 face=3D "sans-serif " >jbo.initpoolsize=3D1 </font >
<br > <font size=3D2 face=3D "sans-serif " >jbo.maxpoolsize=3D550 </font >
<br > <font size=3D2 face=3D "sans-serif " >jbo.poolminavailablesize=3D0 </font >
<br > <font size=3D2 face=3D "sans-serif " >jbo.poolmaxavailablesize=3D600 </font >
<br > <font size=3D2 face=3D "sans-serif " >jbo.poolmonitorsleepinterval=3D60000=
0 </font >
<br > <font size=3D2 face=3D "sans-serif " >jbo.poolmaxinactiveage=3D600000 </fon=
t >
<br > <font size=3D2 face=3D "sans-serif " >jbo.ampool.initpoolsize=3D1 </font >
<br > <font size=3D2 face=3D "sans-serif " >jbo.ampool.maxpoolsize=3D550 </font >
<br > <font size=3D2 face=3D "sans-serif " >jbo.ampool.minavailablesize=3D0 </fon=
t >
<br > <font size=3D2 face=3D "sans-serif " >jbo.ampool.maxavailablesize=3D100 </f=
ont >
<br > <font size=3D2 face=3D "sans-serif " >jbo.ampool.monitorsleepinterval=3D60=
0000 </font >
<br > <font size=3D2 face=3D "sans-serif " >jbo.ampool.maxinactiveage=3D600000 </=
font >
<br >
<br > <font size=3D2 face=3D "sans-serif " >Hope this information will help you.=
</font >
--=_alternative 005E7C4FC2256EB2_=--
-- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ------
Please see the official ORACLE-L FAQ: http://www.orafaq.com
-- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ------
To unsubscribe send email to: oracle-l-request@(protected)
put 'unsubscribe ' in the subject line.
--
Archives are at http://www.freelists.org/archives/oracle-l/
FAQ is at http://www.freelists.org/help/fom-serve/cache/1.html
-- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- --
|
|
 |