tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Papillon" <lea...@wanadoo.fr>
Subject RE: verbose gc
Date Sun, 01 Feb 2004 23:01:51 GMT
A good article : http://java.sun.com/docs/hotspot/gc1.4.2/ (Java's Sun site)

Memory reserved by Tomcat via JVM is cut in three groups (more in
reality...) :
	- Immortal
	- New object
	- Old Object

Imaging you're reserved 512Mo for Tomcat.
If you don't specify dispatch of the memory (at the Tomcat startup) you will
be have the following (it's a funny example ^^ and certainly impossible in
reality):
	- Immortal 64Mo
	- New object 224 Mo
	- Old Object 224 Mo 
If your application need to create a lot of immortals Tomcat will crash
fastly than if you're are specifying more memory for immortal.

Another funny dispatching :
	- Immortal 224Mo
	- New object 64 Mo
	- Old Object 224 Mo 
If your application need to create a lot of new objects, Tomcat will crash
if garbace collector take his time to do his job.

Regards,
leakim

-----Original Message-----
From: Dhruva B. Reddy [mailto:sledgehammer2010@yahoo.com] 
Sent: dimanche 1 février 2004 17:12
To: Tomcat Users List
Subject: RE: verbose gc

Check out Jeff Tulley's responses to my post "OutOfMemoryError with
Seemingly Plenty of Memory".  You may also want to check out Sun's forums on
the Java Virtual Machine.  You will find a host of information on JVM
tuning.

As I said in my post, we would get the OutOfMemoryError about every 24
hours.  I tried setting MaxPermSize to 256MB (haven't been able to determine
the default value for Sun's JVM, but it's 64MB for HP's JVM).
 This sets the size of the permanent generation, into which longer-lived
objects and class definitions are loaded (we have over 3500 classes over
multiple web apps).

I wasn't going to say anything to this list without being more certain, but
Tomcat has been running with no problems since Friday afternoon (47 hours as
of this writing)--the longest it's lasted all month.

HTH,
Dhruva


--- "Mohammed Javid - CTD, Chennai." <mdjavid@ctd.hcltech.com> wrote:
> Hi,
> 
> Thanks for all the help.
> 
> We did loadtesting of our application running on tomcat 4.1.27 with
> jdk1.4
> on solaris, we enabled the GC stack to get details of how GC works, we 
> ran for 10000 users with 5 users logging every 30 secs. We set min and 
> max heap size as 512mb The test ran perfectly for first 2 hours and 
> total heap ocupied was only 10448K out of total of  519168K , later as 
> test case progessed for around 10 hours the tomcat stopped responding 
> and it has thrown OutOfMemoryError , but as can be seen from GC output 
> before outofmemory error the total heap occupied was only 30846K, 
> though we have lot of more space on heap still tomcat crashed and give 
> connectiontimeout for remaining pages.
> When we see the size occupied from top command , when tomcat is 
> started it was 622Mb and at time of crash it was 723MB.
> 
> We are looking for following clarifications
> 1 What could be the reason for tomcat to crash though we have lot of 
> heap remaining.
> 2 Why the memory occupied as seend from top command increased though 
> there was lot of space on heap
> 3 We noticed that though heap has space when size seen from top 
> command reached 720 to 270 mb tomcat crashes.
> 4 How to make tomcat running without crash , certianly heap is not 
> problem in this case
> 5 Is this a known issue, Any optimization to be done to avoid this 
> problem.
> 
> 
> The below is the output of the GC after which we get outofmemory
> error
> 
> [GC 55404.101: [DefNew Desired survivor size 2621440 bytes, new
> threshold 31
> (max 31)
> - age   1:     359488 bytes,     359488 total
> - age   2:     314104 bytes,     673592 total
> : 167034K->657K(169600K), 0.2717012 secs] 197223K->30846K(519168K),
> 0.2745516 secs]
> java.lang.OutOfMemoryError: unable to create new native thread
>         at java.lang.Thread.start(Native Method)
>         at
>
org.apache.catalina.connector.http.HttpProcessor.threadStart(HttpProcessor.j
> ava:1178)
>         at
>
org.apache.catalina.connector.http.HttpProcessor.start(HttpProcessor.java:12
> 62)
>         at
>
org.apache.catalina.connector.http.HttpConnector.newProcessor(HttpConnector.
> java:937)
>         at
>
org.apache.catalina.connector.http.HttpConnector.createProcessor(HttpConnect
> or.java:868)
>         at
>
org.apache.catalina.connector.http.HttpConnector.run(HttpConnector.java:1075
> )        
>    at java.lang.Thread.run(Thread.java:534)
> 
> 
> thanks and regards,
> Javid
> 
> >  -----Original Message-----
> > From: 	Mohammed Javid - CTD, Chennai.  
> > Sent:	Wednesday, January 14, 2004 10:00 PM
> > To:	'tomcat-user@jakarta.apache.org'
> > Subject:	RE: verbose gc
> > 
> > we are using tomcat 4.1 withjdk1.3, we have folowing clarifications
> > 
> > 1) [Full GC 34521K->15504K(38328K), 0.5953540 secs]
> > [GC 27533K->16335K(38328K), 0.0396336 secs]
> > 
> > is the statements got in catalina.out by adding -server -verbose:gc
>  in
> > catalina.sh
> > 
> > 2) what does the above statements got in catalina.out means, is
> garbage
> > collection active. 
> > When i execute top command on solaris and see the memory it shows 
> size
> > and resisdent memory , what is the diference between the two.
> > 
> > 3) I see that gc statements are logged to catalina.out but the
> memory
> > usage keeps increasing, does it mean there is problem with
> > garbage collection,
> > 
> > 4) can we get more information like how many obejcts created /
> objects
> > destroyed during a gc run, what options to pass to get that
> information
> > 
> > thanks
> > 	 -----Original Message-----
> > 	From: 	Mohammed Javid - CTD, Chennai.  
> > 	Sent:	Wednesday, January 14, 2004 2:18 PM
> > 	To:	'tomcat-user@jakarta.apache.org'
> > 	Subject:	verbose gc
> > 
> > 	Hi,
> > 
> > 	  When we give verbose:gc in cataline.sh during startup of tomcat
> > where does
> > 	the gc information get logged.
> > 	  I am not seeing any information in catalina.out.
> > 
> > 	thanks.
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tomcat-user-help@jakarta.apache.org
> 


__________________________________
Do you Yahoo!?
Yahoo! SiteBuilder - Free web site building tool. Try it!
http://webhosting.yahoo.com/ps/sb/

---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org


Mime
View raw message