 |
AppletTalk.com Java discussions newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
Guest
|
Posted: Tue Apr 04, 2006 1:12 pm Post subject: Memory shooting up when using Oracle JDBC drivers |
|
|
Hi,
I have a JDBC program connecting to Oracle 9i Database using
connection pool. What we observed is, when we continously send queries
and Insert request, the memory is increasing continously and stabilises
after some 100 run.
The scenario is like this.
1. We prepare the query
2. execute it
3. Cache the prepared query
4. Close resultset
This is same for insert and read.
But for 10 connections in the pool nad cache size of query 50, the
memory stabiliases around 110MB.
We tested the same scenario(same tables, same connections, same data)
with MySQL and SQLServer using JDBC drivers. The memory is not
increasing.
We checked the memory using JProbe. What we found is
1. 64% of the memory is consumed by byte[] allocated inside Oracle JDBC
driver.(Exactly , it is allocated by
oracle.jdbc.dbaccess.DBItem.clone())
2. 27% of the memory is consumed by Objects of class TTCItem of Oracle
driver.
Waht will be the reason?
Anybody observed such a scenario?
Any help will be appreciated?
REgards
sjohn |
|
| Back to top |
|
 |
Robert Klemme Guest
|
Posted: Thu Apr 13, 2006 3:12 pm Post subject: Re: Memory shooting up when using Oracle JDBC drivers |
|
|
zunilp (AT) gmail (DOT) com wrote:
| Quote: | Hi,
I have a JDBC program connecting to Oracle 9i Database using
connection pool. What we observed is, when we continously send queries
and Insert request, the memory is increasing continously and
stabilises after some 100 run.
The scenario is like this.
1. We prepare the query
2. execute it
3. Cache the prepared query
4. Close resultset
This is same for insert and read.
But for 10 connections in the pool nad cache size of query 50, the
memory stabiliases around 110MB.
We tested the same scenario(same tables, same connections, same data)
with MySQL and SQLServer using JDBC drivers. The memory is not
increasing.
We checked the memory using JProbe. What we found is
1. 64% of the memory is consumed by byte[] allocated inside Oracle
JDBC driver.(Exactly , it is allocated by
oracle.jdbc.dbaccess.DBItem.clone())
2. 27% of the memory is consumed by Objects of class TTCItem of Oracle
driver.
|
What exactly do you mean by item 3 above? Do you store the
PreparedStatement with the Connection?
robert |
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|