> The API you need is called ExitProcess...... Seriously, I have known > of apps where services are periodically shut down because of growing > memory usage. Whether this will work in your situation is something > you'll have to look at.
Don't you think it would be worth taking a look at whats going on in SOS before taking such hacky and non-productive measures? Its at the least worth finding out if there *is* actually a memory leak no? Cheers, Greg On 9/6/07, Wilson, Phil <[EMAIL PROTECTED]> wrote: > The API you need is called ExitProcess...... Seriously, I have known > of apps where services are periodically shut down because of growing > memory usage. Whether this will work in your situation is something > you'll have to look at. > > Doing everything right in .NET doesn't necessarily help. If you search > Help & Support for "memory leak" you'll find plenty of hits on leaks in > the underlying OS components (sometimes the framework), and if you're > unlucky your service is inadvertently running into them. You first need > to find out if what they're seeing is actually a leak, and then try to > identify it from the .NET angle and maybe from the process angle if you > can't identify something like leaked (unmanaged) resources in your code. > > > It's not clear to me how the managed heaps inside a process are handled. > More memory will be allocated as more objects get created, so managed > heap size will increase, and so will the memory used by the process. > Even if objects are released, does the memory used by managed heaps get > freed? I suspect that reducing the size of a managed heap is a rare > occurrence on a system with plenty of free memory, so the process > statistics might be showing that a lot of memory is being used, but a > large part of that memory might be managed heaps that aren't being fully > used for managed objects. Perhaps peaks in managed memory usage cause > managed heaps to grow larger but the actual heaps aren't reduced in size > when objects are released, especially when there's no memory pressure on > the system. > > There's this: http://blogs.msdn.com/ricom/archive/2004/12/10/279612.aspx > > > Ironically, this: http://support.microsoft.com/kb/923299 > > > Phil Wilson > > > -----Original Message----- > From: Discussion of advanced .NET topics. > [mailto:[EMAIL PROTECTED] On Behalf Of Tracy Ding > Sent: Wednesday, September 05, 2007 10:17 AM > To: ADVANCED-DOTNET@DISCUSS.DEVELOP.COM > Subject: Re: [ADVANCED-DOTNET] l immediately release any unneeded memory > > Q: Why do you want to do it yourself? > > A: One customer noticed service process had a large number of pages in > use and worried about a memory leak. > > > Sincerely, > > Tracy Ding > > > -----Original Message----- > From: Discussion of advanced .NET topics. > [mailto:[EMAIL PROTECTED] On Behalf Of Patrick Steele > Sent: Wednesday, September 05, 2007 9:40 AM > To: ADVANCED-DOTNET@DISCUSS.DEVELOP.COM > Subject: Re: [ADVANCED-DOTNET] l immediately release any unneeded memory > > No. The garbage collector handles that for you. If you're utilizing > unmanaged resources (files handles, windows handles, etc...), implement > the IDisposable interface to make sure you release the resources. > > Why do you want to do it yourself? > > --- > Patrick Steele > http://weblogs.asp.net/psteele > > > -----Original Message----- > From: Discussion of advanced .NET topics. > [mailto:[EMAIL PROTECTED] On Behalf Of Tracy Ding > Sent: Wednesday, September 05, 2007 12:35 PM > To: ADVANCED-DOTNET@DISCUSS.DEVELOP.COM > Subject: [ADVANCED-DOTNET] l immediately release any unneeded memory > > > Is there some sort of .NET call that will immediately release any > unneeded memory for service process? > > =================================== > This list is hosted by DevelopMentor(r) http://www.develop.com > > View archives and manage your subscription(s) at > http://discuss.develop.com > > =================================== > This list is hosted by DevelopMentor(r) http://www.develop.com > > View archives and manage your subscription(s) at > http://discuss.develop.com > > =================================== > This list is hosted by DevelopMentor(r) http://www.develop.com > > View archives and manage your subscription(s) at http://discuss.develop.com > -- Studying for the Turing test =================================== This list is hosted by DevelopMentorĀ® http://www.develop.com View archives and manage your subscription(s) at http://discuss.develop.com