The above application is running with a Java Swing client front end. We have a particular function that calls a stored procedure in the database. This procedure/function returns hunderds of pieces of daily data for a seven day period for each day. The data is eventually placed in a hashtable on the middle tier. The problem is that this is utilizing 150MB of memory in the VM on the server. The instantiated objects associated with the process are eventually GC'd. However, when around 16 users are run against the application, the server eventaully runs out of physical memory within about 2 hours. We are eventually going to have around 100 users performaing this function but we have a few months befire that happens.

I have looked into a couple af areas to fix this problem. One is filtering the information at the middle tier. That did not seem to work. The next was to tweek the hastable paramters. Development tells me that this would have an impact on speed but not necessarily memory consumption. The final option is currently to re-write the database procedure which is going to take a great deal of effort. It has also been suggested that something is going on with the IBM JVM. We are eventually going to move to JVM 1.4 which supposedly has a number of performance improvements.

Does anyone have any experience with something like this and if so any suggestions? Thanks


[This message has been edited by cmsville (edited 04-01-2003).]