I have exhausted the physical memory once, when I was subscribing a new
instance of an object in a loop (not exactly a tight one), but forgot to
unhook the event handler in the finalizer (or earlier). Because the event's
delegates had a strong reference to each instance (via the Target property),
the objects I expected to be GCed quickly ate the whole memory. Look at your
code closely for similar scenarios...

HTH,

Stoyan Damov

-----Original Message-----
From: Moderated discussion of advanced .NET topics.
[mailto:[EMAIL PROTECTED] Behalf Of Manuel Costa
Sent: 07/23/2003 01:16
To: [EMAIL PROTECTED]
Subject: [ADVANCED-DOTNET] GC,multithreading and multiprocessors


Hi,

I've been experiencing for some time problems with garbage collector in a
machine with 2 hyper threaded processors.
The application processes network messages for an online game
implementation. Under strong loads and in the multi-processor machine, the
application memory grows up to values far beyond the physical memory. Of
course, this destroys its performance! On the other hand, if the same
application runs on a single processor this behavior no longer exists.
My first thought when i saw this behavior was that i had some
synchronization problem, which was disguised in the single processor
machine. However, i've been looking to the code again and again and it seams
ok. Therefore, i think that a successive and intensive multi-threaded
environment of memory allocations and reallocations causes the problem.

Does anyone have a reasonable explanation for this behavior? Does it make
sense or should i burn my eyes again and again on the developed code?


Manuel

===================================
This list is hosted by DevelopMentor�  http://www.develop.com
NEW! ASP.NET courses you may be interested in:

2 Days of ASP.NET, 29 Sept 2003, in Redmond
http://www.develop.com/courses/2daspdotnet

Guerrilla ASP.NET, 13 Oct 2003, in Boston
http://www.develop.com/courses/gaspdotnet

View archives and manage your subscription(s) at http://discuss.develop.com

Reply via email to