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" <[EMAIL PROTECTED]>
To: "'Tomcat Users List'" <[EMAIL PROTECTED]>; "'Travis De
Silva'" <[EMAIL PROTECTED]>
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: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]







--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]






---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to