[Installation, Configuration & Deployment] - VM-Size in Windows task manager increases constantly
by ms@camos.de
I got a big problem. Please give me some hints how to solve it. I read a lot of threads about it here, but no solution.
My system is:
P IV, 4GB mem (no swap to not delay the problem)
Windows 2003 Server x64
SUN JDK 1.5.0-07 for AMD x64
JBoss 4.04
My own stateful session bean and two servlets of my own
JBoss/JVM parameter:
set JAVA_OPTS=%JAVA_OPTS% -Xms2048m -Xmx2048m
set JAVA_OPTS=%JAVA_OPTS% -XX:PermSize=150m -XX:NewRatio=3
My problem is:
To stress test my bean I create approximately 600 instances. One hour after the start the windows task manager tells me a VM-Size of 2.5 GB. That?s okay. Visual GC 3.0 tells me the following:
PermSize: 50MB (ok)
OldGen: 300MB (ok) (after 2 collections)
Survivor ½: 130MB (ok)
Eden: 170MB (ok)
Everything is okay.
After 30 hours Visual GC:
PermSize: 50MB (ok)
OldGen: 300MB (ok) (after 500 collections)
Survivor ½: 8MB (interesting, but still ok for me)
Eden: 33MB (interesting, but still ok for me)
The Problem is now windows task manager for java.exe
MemUsage: 1.6GB (ok)
PeakMemIsage: 1.6GB (ok)
VM Size 3.5GB (and increasing: very big problem)
When VM-Size reaches 3.8GB, java.exe crashes.
IMHO JVM?s internal heaps are okay but there must be an internal error in its memory management. It?s not that I want memory returned to the OS but the JVM should detect a lack of fresh memory and not allocate anymore.
I also think that there is no benefit in changing Xms Xmx Xss (the well known switches). I tried without success.
Is it possible that this is a special problem of the x64 JVM? With 32 Bit I run onto other limitation.
Any help is welcome
Thanks in advance.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3959045#3959045
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3959045
19 years, 9 months
[JBoss jBPM] - Re: JBPM TaskCreation at RunTime
by abbasshah
I agree task should not be used in STP process they are meant to be UserTasks, in real time even in my process it wont be the case. However i am writing my Unit test which deploys, executes and test some flows by completing some task without commiting anything into the database becuase i do not wish my testcases to change the database state..
I like my test * Not * to presist or change state of application shared data (database). So if you have transactions it is much simpler and clean by doing rollback in teardown. OR 2nd approch would be to persist and then remove it.
it is possible to remove not only process defination, but process instance and other related enteries in other tables. ?
Also if TaskInstanceId = 0 then does it means that task is not actually created? i think 0 is defualt value of TaskInstance.Id (if i am not wrong)
abs
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3959038#3959038
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3959038
19 years, 9 months