My company is currently evaluating JBoss and considering supporting it in addition to WebLogic and WebSphere. I'm a big fan of OSS (and the lack of per-CPU licensing), so I'm motivated to get this working.
The problem we're currently experiencing is high memory usage after deploying our application. Our application is made of a main .ear file which contains about 1090 beans - some session session beans and a lot of EJBs. I'm monitoring the memory usage using verbosegc and prior to deploying this .ear file, the memory usage is about 90MB. After deployment about 990MB is in use. Our max heap size is 1100MB, so there isn't much room left for doing actual work. Since we're running with JRockit 1.4.2_05 on Linux, I'm not able to reliably allocate a heap larger than this.
We also started up with the IBM JDK, so we could use their HeapAnalyzer tool to verify the memory usage. It showed that almost all of the memory allocated in the heap was for bean deployment.
Is anyone else deploying this many beans and if so, are you experiencing the same memory usage? On other platforms, after deployment, we utilize about 350MB in WebLogic and about 450MB in WebSphere.
All help is appreciated.
I'm sure it would help if I gave information on our test environments where we've seen this issue:
IBM 1.4.2 cxia32142sr1a-20050209
Red Hat ES 3.0
SUSE ES Linux 9.1
Windows XP SP2