Hi Ben, That's a difference alright, but I don't immediately see how that could be causing the symptoms I'm seeing.
As I understand it, your typical Windows application (e.g. my Windows Forms application) will attempt to minimize its working set when it's main window is minimized. So, I tried a crude test. I minimized the application just before the point it locks up, but the problem was still there at the next GC. Inconclusive, I know, but that particular NT4 difference just doesn't seem to fit the problem. The more I look at it, the more I think it's to do with the GUI. According the excellent .NET Memory Profiler, we have >21,000 instances of objects after startup, and there are >26,000 instances when the symptoms begin to appear. This isn't a huge difference, and I'm sure any other app with these sorts of numbers wouldn't lock the way this one does. What is different is the contents of the forms. But I fail to understand why these forms which work so well on 2000/XP cause such a problem for the GC on NT4. The forms themselves still work fine on NT4, it's just that the next GC after opening one of the forms will lock the application, taking all the CPU time, for several minutes! I also tried a build with V1.1 beta of the framework an the problem's still there. This one's really got me stumped, and is the only thing stopping us releasing our new product! :( Is there any way I can: a) prove/disprove that it's the finalization that is taking so long? b) depending on (a), find out which objects are taking so long to finalize? Cheers, G. -- Graeme Foster ([EMAIL PROTECTED]) Principal Software Engineer Aston Broadcast Systems Ltd. (http://www.aston.tv) Disclaimer: I really don't have a clue what I'm on about. -----Original Message----- From: Moderated discussion of advanced .NET topics. [mailto:ADVANCED-DOTNET@;discuss.develop.com]On Behalf Of Ben Kloosterman Sent: 01 November 2002 16:45 To: [EMAIL PROTECTED] Subject: Re: Extremely slow GC's on NT4 NT4 memory manangement is different - if there is no server memory pressurer it does not bother reducing the working set as there is no need. 2000 started being more aggresive as people were complaining about excesive page size ( even thou there was little paging) -----Original Message----- From: Moderated discussion of advanced .NET topics. [mailto:ADVANCED-DOTNET@;DISCUSS.DEVELOP.COM]On Behalf Of Graeme Foster Sent: Friday, 1 November 2002 11:05 PM To: [EMAIL PROTECTED] Subject: [ADVANCED-DOTNET] Extremely slow GC's on NT4 Hi, I'm experiencing incredibly long delays during some GC's on NT4 systems. The time taken seems to increase dramatically from less than a second to almost an hour, depending on how many controls (and their associated objects) are in use at the time. Our app is a fairly straightforward Windows Forms application, but a couple of our forms make use of quite heavily nested controls; it's when these are in use that the excessively long GC times occur. This problem doesn't happen on 2000/XP, and the forms work well. I've tested this by varying the quantities of controls and manually calling GC.Collect() and GC.WaitForPendingFinalizers(). Any idea why we're hitting this problem? Something different about NT4? ***************************************************************************** The contents of this email and any attachments are confidential. It is intended for the named recipient(s) only. If you have received this email in error please notify the system manager or the sender immediately and do not disclose the contents to any one or make copies. ** eSafe scanned this email for viruses, vandals and malicious content ** ***************************************************************************** You can read messages from the Advanced DOTNET archive, unsubscribe from Advanced DOTNET, or subscribe to other DevelopMentor lists at http://discuss.develop.com.