Hi, We are running our application having EJBs, servlets, javabeans and jsps on weblogic 6.0. The application runs fine for one day and slowly the performance detiorates. We found that there may be some memory leaks. We are able to figure out exactly where. We are using the Jprobe and it was not efficient. Can anyone suggest how best to resolve this? How to analyse and find out where the bugs may be? Is there any good profiler available that can be used? Thanks Krishna.
Do you mean that JProbe was not conclusive? or that your app was not efficient?
We found that there may be some memory leaks. We are able to figure out exactly where.
How do you know that there were memory leaks? And how were you able to find out exactly where they were? Are you sure also that the reduction in performance was due to problems with the WLS app server itself? As an example, often performance can rapidly become degraded when your database (on the same machine? on a different machine?) is performing inserts on a heavily indexed table, which starts out as a small table, but when it grows, the time taken to update/insert/delete becomes vastly extended. Similarly, some sort of file I/O could be slowing things up, depending on whether you have implemented any as a part of your system. I would certainly look at factors like that first.
posted 18 years ago
Another possibility is that your app is not releasing references properly so the garbage collector cannot get to clean them up. That is another worthwhile thing to look at, as it may look like a memory leak.
posted 18 years ago
Hi George Thanks for your reply. What we actually did is we monitored the garbage collection happening on the server side by giving the '-verbosegc' option while starting the weblogic server. From this, we found that the memory occupied was increasing after every garbage collection. It was gradually increasing. So I feel it might not be due to database access. I am sorry for the misprint in my prev message. We are NOT able to find where the memory leaks are? And we are also reviewing our code for any possibilities of not releasing references properly. But I feel there should be a better way of doing this. Simulating this bug is a big problem as this is happening over a period of time and when many users are trying to access the site. Do anyone have any suggestion of how to simulate? And the problem with jprobe is it is very very slow in refreshing itself when running on unix. We are using Exceed from windows to connect to server. Thanks Krishna.