> From: André Warnier [mailto:[EMAIL PROTECTED]
> Subject: Memory pool "Survivor space"
>
> This Tomcat's JVM is started with the switches "-Xms200M
> -Xmx200M"
That's rather small for these days; I presume this is the toy machine you use
to test with.
> In the "memory" tab of jconsole, I observe that one of the display
> sections (Survivor space, the middle bar in the "Heap" section),
> has the following behaviour :
All of your observations seem perfectly normal.
> - what does this mean ?
It means things are running properly. Objects are born in Eden, live ones
migrate to a Survivor space on each minor collection ("Copy", on the JConsole
picture), and reach Tenured only after staying in a Survivor space for some
amount of time. When Tenured fills up, you'll see a major collection
("MarkSweepCompact").
> - where does the JVM get this apparent hard limit of 2 Mb for
> this pool size ?
The initial value is calculated during JVM initialization, and adjusted as
needed as the JVM runs.
> - does it matter ? I mean, assuming I could change it, would
> that have an impact in how the JVM works while starting this
> application, and how ?
Yes, there are command line parameters to play with this (-XX:SurvivorRatio
being the primary one for this area of the heap), but you will likely only make
things worse. Without faster, multiple CPUs and more memory, you're not likely
to reduce the 1 minute spent in garbage collection during webapp initialization
by any significant amount. Rewriting or reconfiguring the webapp to be more
efficient (including not creating so many objects) would buy you a lot more.
> - if I use <load-on-startup> in the web.xml of this application (no
> matter with which value), then it seems to get started when Tomcat is
> started.
Which is what <load-on-startup> is defined to do. The value setting applies
only to order servlet initializations within a single webapp; it is not a
global value. Tomcat initialization is serial, including processing any
servlets marked with <load-on-startup>.
> - if I do not have a <load-on-startup> tag in web.xml, then Tomcat
> prints "server startup in .... ms" in catalina.out, and becomes
> responsive in about 15 seconds (instead of 5 minutes).
Also expected, since your webapp's initialization is now deferred until the
first request for it. Since the system you're running on has less processing
power than my phone, and your webapp seems to be a bit on the heavy side, it's
going to take a while, regardless of when it happens.
- Chuck
THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY
MATERIAL and is thus for use only by the intended recipient. If you received
this in error, please contact the sender and delete the e-mail and its
attachments from all computers.
---------------------------------------------------------------------
To start a new topic, e-mail: [email protected]
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]