S
Shlomi
Hi
I have a web application that runs on Orion web server using jdk 1.3.1
after monitoring my application I noticed a wired behavior, I saw that
the total memory of the VM keeps growing (
runtime.getRuntime().totalMemory() ) while the
'free Memory' (Runtime.getRuntime().freeMemory()) stays almost the
same, the total memory of the process that is being used by the VM
keeps growing .
it looks like the GC free memory to the VM but the VM keeps it and
doesn't free it
after a while , I am getting error messages
"java.lang.OutOfMemoryError <<no stack trace available>>" and the
free memory descends to almost 0.
forcing the GC doesn't really work.
after reading allot of the threads that were discussed over here , I
suspect that the problem is in the jdbc driver or the way i am using
it.
I have one class that all the DB access is being made from and every
method (such as "getRow()" , "GetTable()" etc ... ) close the
connection and the resultset in its finally statement and returns a
Vector as a result.
I use a connection pool to get connections from the DB.
I really don't know where to start from or what am I doing wrong, can
any one give me a lead ? or how should I trace the problem ?
I have a web application that runs on Orion web server using jdk 1.3.1
after monitoring my application I noticed a wired behavior, I saw that
the total memory of the VM keeps growing (
runtime.getRuntime().totalMemory() ) while the
'free Memory' (Runtime.getRuntime().freeMemory()) stays almost the
same, the total memory of the process that is being used by the VM
keeps growing .
it looks like the GC free memory to the VM but the VM keeps it and
doesn't free it
after a while , I am getting error messages
"java.lang.OutOfMemoryError <<no stack trace available>>" and the
free memory descends to almost 0.
forcing the GC doesn't really work.
after reading allot of the threads that were discussed over here , I
suspect that the problem is in the jdbc driver or the way i am using
it.
I have one class that all the DB access is being made from and every
method (such as "getRow()" , "GetTable()" etc ... ) close the
connection and the resultset in its finally statement and returns a
Vector as a result.
I use a connection pool to get connections from the DB.
I really don't know where to start from or what am I doing wrong, can
any one give me a lead ? or how should I trace the problem ?