DualShield service straight failed to start after installation
Yesterday ( February 26, 2014), I was asked to help a customer who was suffering a problem - the newly installed DualShield service failed to start!
Checked tomcat log, I saw,
Obviously, it complained "Could not reserve enough space for object heap", so CreateJavaVM failed.
However his server still got 3G free memory!
By default, we have the following Java parameters for running Tomcat
First I tried to install the same package on a VM which had the same OS (Windows 2003 R2 32bits) but with less memory (2G in total). It worked fine, so I believe this problem was related to the customer's particular server.
Then what could be the reason? I had no idea, so I tried many things on that server through GotoMeeting, stopping anti-virus, removing other JAVA installation, changing JAVA memory pool.
Nothing helped. Finally I changed MaxPermSize to 128M (256M originally), the service could be started!
I thought the problem was solved, so ended the online meeting. I was quite happy to tell the story to my colleagues. One of them immediately warned me the customer would come back soon, as 128M was not enough for running the whole system! He is right, the customer sent us email, saying he got a new problem!
HTTP Status 500 -
type Exception report
description The server encountered an internal error () that prevented it from fulfilling this request.
javax.servlet.ServletException: Filter execution threw an exception
java.lang.OutOfMemoryError: PermGen space
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.24 logs.
The problem has become irreconcilable on this particular server. We had a discussion among our support team and agreed the following,
Java could not allocate 256M permanent generation space, although the machine still has 3G free memory, because this machine has 4G memory in total, which 32bit OS doesn't support it, unless PAE (Physical Address Extension) installed. However JAVA somehow has some glitches under this situation.
We advise you to use 64bit OS if you have 4G(+) memory. Currently we can't find a solution for this situation I am afraid.