tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sjoerd van Leent <svanle...@wanadoo.nl>
Subject Re: Windows 2003 Java VM memory leak due to C# garbage collection algorithm
Date Fri, 17 Sep 2004 11:52:57 GMT
I'd use Windows 2003 (or .NET Server if you like) and there is no 
Garbage Collection to the application. About internal kernel management 
I don't know, but applications can't use it. Applications have to use 
there own algorithms. It would simply be impossible to redesign this for 
the Windows environment, because it will render thousands of 
applications completely useless.

I think you are mistakenly replacing *.NET Server* with *.NET*, which is 
a Virtual Machine, just as the JVM is. Since *.NET* is delivered 
together with *.NET Server*, there is a Garbage Collector within the 
.NET environment, which is used by languages such as C#, VB.NET and 
Managed C++.

Regards,
Sjoerd

Travis De Silva wrote:

>Hi Steffen,
>
>Thanks for your reply. What you say confirms my understanding of how the JVM
>works.
>
>We start Tomcat from the command prompt as an application.
>
>We have been using various settings for the OPTS. Currently its set as:
>
>set
>AVA_OPTS= -server -Xmx512M -XX:MaxNewSize=256M -Xminf.5 -Xmaxf.8  -XX:NewSiz
>e=2m -XX:NewRatio=3 -Xcompactgc -XX:+UseParallelGC -XX:+UseAdaptiveSizePolic
>y -XX:ParallelGCThreads=4 -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=256m
>  -Xloggc:%M_JVM_LOG_FILE%  -XX:+PrintTLE
>
>Previously we have set the following as well (and a lot of others as well
>such as changing the GC algorithm etc)
>
>#set JAVA_OPTS= -Xms256m -Xmx256m -Xgc:parallel -Xcleartype:gc  (the min and
>max heap was set to the same as we have memory on our server (4GB) and
>wanted to avoid the overhead associated with growing the JVM that require
>multiple system calls resulting in segmented system memory.)
>
>I was thinking its a windows 2003 garbage collection issue as they seem to
>have changed their memory handing concept and now use the garbage collection
>concept. In windows 2000, it was different. And when we were running our
>webapps on windows 2000, it was fine. Unfortunately we recently moved our
>webapps to a new dedicated server with a new hosting company and it came
>with windows 2003.
>
>Thanks for any assistance.
>
>Travis
>
>
>
>
>----- Original Message ----- 
>From: "SH Solutions" <sh-solutions@gmx.net>
>To: "'Tomcat Users List'" <tomcat-user@jakarta.apache.org>; "'Travis De
>Silva'" <tdesilva@bigpond.net.au>
>Sent: Friday, September 17, 2004 6:26 PM
>Subject: AW: Windows 2003 Java VM memory leak due to C# garbage collection
>algorithm
>
>
>  
>
>>Hi
>>
>>    
>>
>>>What I want to know is even if our program has a memory leak, it should
>>>      
>>>
>>crash the JVM right?
>>
>>No, your program (better your webapp) should get OutOfMemoryExceptions and
>>should continue running. Mostly, it will not do sensful things any more,
>>    
>>
>but
>  
>
>>it should NEVER crash the JVM.
>>
>>    
>>
>>>It should not keep increasing the memory allocated from the Windows
>>>      
>>>
>Server
>  
>
>>2003 O/S.
>>
>>Right. It should go about 64 MB over your max heap setting (which is
>>    
>>
>approx.
>  
>
>>the jvm overhead), but not 1 GB above. There is something wrong. Are you
>>sure you specified both MIN AND MAX heap values? Can you show your OPTS?
>>    
>>
>How
>  
>
>>are you starting tomcat - as service or as application?
>>
>>    
>>
>>>Could this be a issue with the Windows server 2003 garbage collection as
>>>      
>>>
>I
>  
>
>>read it is written using C#? anyone has any idea if this is the problem?
>>
>>No.
>>Windows 2003 server has nothing to do with applications garbage
>>    
>>
>collection.
>  
>
>>Java JVM have their own garbage collector, you can even choose one from
>>command line - what you could try.
>>Windows 2003 itself has no garbage collection at all. Windows 2003
>>    
>>
>provides
>  
>
>>.net by default, which itself works semtantically like a VM and which
>>    
>>
>itself
>  
>
>>DOES HAVE a garbage collector. That one IS used for C#, but I doubt it is
>>written in C#.
>>And even if it would be written in C#, that should not be the problem,
>>    
>>
>since
>  
>
>>it is used in really huge applications and has not shown to be a big
>>    
>>
>source
>  
>
>>of leaks so far.
>>
>>Regards,
>>  Steffen
>>
>>
>>---------------------------------------------------------------------
>>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
>
>
>  
>


---------------------------------------------------------------------
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