Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: 'java_pool_size' in INIT file?

Re: 'java_pool_size' in INIT file?

From: Thomas J. Kyte <tkyte_at_us.oracle.com>
Date: 2000/03/07
Message-ID: <8a43si$fm3$1@nnrp1.deja.com>#1/1

In article <8a3s7j$9si$1_at_nnrp1.deja.com>,   ibm_97_at_yahoo.com wrote:
> In article <952462335.14895.0.nnrp-02.9e984b29_at_news.demon.co.uk>,
> "Jonathan Lewis" <jonathan_at_jlcomp.demon.co.uk> wrote:
> >
> > Yes you can, and should, change it.
> > It defaults to 20M or 10M, and unless
> > you are using the Java Virtual Machine
> > is a waste of memory.
> >
> > The smallest you can set it to is,
> > I think, 1M.
> >
> > --
> >
> > Jonathan Lewis
> > Yet another Oracle-related web site: http://www.jlcomp.demon.co.uk
> >
> > ibm_97_at_yahoo.com wrote in message <8a3nth$69d$1_at_nnrp1.deja.com>...
> > >what's the 'java_pool_size' parameter in INIT file mean? What's it
 for?
> > >Can we change it?
> > >
> > >Thanks!
> > >
> > >Oracle 8i for solaris 2.6
> > >
> > >
> > >Sent via Deja.com http://www.deja.com/
> > >Before you buy.
> >
> >
>
> Thanks for your reply!
>
> Is the 'java_pool_size' included in the SGA?

It should be (but isn't - it is a bug in 8.1.5).

> If I increase its size, my
> Java web app's performance will improve?

Maybe -- if the java is in the database, maybe, if not no.

> And where can I find the info
> about this parameter? technet.oracle.com has none.

Here is some info:

When are shared_pool and java_pool allocated?

They are fixed size blocks of memory allocated at Oracle server startup. Their size is controlled by the JAVA_POOL_SIZE and SHARED_POOL_SIZE entries in the init.ora file.

How does JServer use shared_pool?
Shared_pool is the fixed amount of memory allocated to the JavaVM for use by the class loader. The class loader uses about 8k per loaded class.

How does JServer use java_pool?

java_pool is the fixed amount of memory allocated for the JavaVM to use in server memory for all session-specific Java code and data. The java_pool is used in different ways, depending on what mode the Oracle server is running in.

In a dedicated server, java_pool includes: the shared part of each Java class which is actually used per session. These are basically the readonly parts (vectors, methods, etc) and are about 4-8k per class.
none of the per-session Java state of each session. For a dedicated server, this is stored in UGA within the PGA and not anywhere in the SGA.
Under dedicated servers (which will likely be the case for applications using purely Java Stored Procedures), the total required java_pool is probably not much more than 10M.

In an MTS server, java_pool includes:
the shared part of each Java class which is actually used per session. These are basically the readonly parts (vectors, methods, etc) and are about 4-8k per class.

some of the UGA used for per-session state of each session is allocated from the java_pool within the SGA. As the total size of the java_pool is fixed, this means that application developers really need to estimate the total requirement of their applications and multiply this by the number of concurrent sessions they want to create a 'total' amount of necessary java_pool. Each UGA will grow/shrink as needed, but all UGAs combined must be able to fit into the java_pool at the same time.

Under MTS servers, (which will be the case for applications using CORBA or EJBs) this figure could be large

>
> Thnx again.
>
> Sent via Deja.com http://www.deja.com/
> Before you buy.
>

--
Thomas Kyte                              tkyte_at_us.oracle.com
Oracle Service Industries
http://osi.oracle.com/~tkyte/index.html
--
Opinions are mine and do not necessarily reflect those of Oracle Corp


Sent via Deja.com http://www.deja.com/
Before you buy.
Received on Tue Mar 07 2000 - 00:00:00 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US