By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
449,107 Members | 1,103 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 449,107 IT Pros & Developers. It's quick & easy.

aspnet_wp.exe memory problem

P: n/a
Hi,

I have aspnet_wp.exe with increasing on every postback and not every revisit
to any page. Even if I clear session and close the browser it remains in the
memory. I have only one connection object and it is closed always as I have
it under try catch, and all my variables are disposed at the end of each
function. What could be the issue??

Regards,
Vineet


Nov 19 '05 #1
Share this Question
Share on Google+
11 Replies


P: n/a
Jon
This is normal behaviour, unless it is causing you a problem.
..Net usually grows and grows until garbage collection comes and cleans it
up.

"EDom" <te*******@peoplewareindia.com> wrote in message
news:%2****************@TK2MSFTNGP12.phx.gbl...
Hi,

I have aspnet_wp.exe with increasing on every postback and not every
revisit
to any page. Even if I clear session and close the browser it remains in
the
memory. I have only one connection object and it is closed always as I
have
it under try catch, and all my variables are disposed at the end of each
function. What could be the issue??

Regards,
Vineet

Nov 19 '05 #2

P: n/a
You can force a collection with the GC.Collect() Method. But you should not
need this most of the time.


"Jon" <jo*******@nusystems.com.au> wrote in message
news:uk**************@TK2MSFTNGP12.phx.gbl...
This is normal behaviour, unless it is causing you a problem.
.Net usually grows and grows until garbage collection comes and cleans it
up.

"EDom" <te*******@peoplewareindia.com> wrote in message
news:%2****************@TK2MSFTNGP12.phx.gbl...
Hi,

I have aspnet_wp.exe with increasing on every postback and not every
revisit
to any page. Even if I clear session and close the browser it remains in
the
memory. I have only one connection object and it is closed always as I
have
it under try catch, and all my variables are disposed at the end of each
function. What could be the issue??

Regards,
Vineet


Nov 19 '05 #3

P: n/a
Jon
GC only fress memory if there are other apps which needs more memory. If
there is enough free space it will not free memory.

http://blogs.msdn.com/ricom/archive/...29/271829.aspx
"Mr Newbie" <he**@now.com> wrote in message
news:uC**************@TK2MSFTNGP14.phx.gbl...
You can force a collection with the GC.Collect() Method. But you should
not need this most of the time.


"Jon" <jo*******@nusystems.com.au> wrote in message
news:uk**************@TK2MSFTNGP12.phx.gbl...
This is normal behaviour, unless it is causing you a problem.
.Net usually grows and grows until garbage collection comes and cleans it
up.

"EDom" <te*******@peoplewareindia.com> wrote in message
news:%2****************@TK2MSFTNGP12.phx.gbl...
Hi,

I have aspnet_wp.exe with increasing on every postback and not every
revisit
to any page. Even if I clear session and close the browser it remains in
the
memory. I have only one connection object and it is closed always as I
have
it under try catch, and all my variables are disposed at the end of each
function. What could be the issue??

Regards,
Vineet



Nov 19 '05 #4

P: n/a
I get Server Error : Application cannot accept anymore requests.
I have to go to task manager kill the process and then all is fine.

Regards,
"Jon" <jo*******@nusystems.com.au> wrote in message
news:uk**************@TK2MSFTNGP12.phx.gbl...
This is normal behaviour, unless it is causing you a problem.
.Net usually grows and grows until garbage collection comes and cleans it
up.

"EDom" <te*******@peoplewareindia.com> wrote in message
news:%2****************@TK2MSFTNGP12.phx.gbl...
Hi,

I have aspnet_wp.exe with increasing on every postback and not every
revisit
to any page. Even if I clear session and close the browser it remains in
the
memory. I have only one connection object and it is closed always as I
have
it under try catch, and all my variables are disposed at the end of each
function. What could be the issue??

Regards,
Vineet


Nov 19 '05 #5

P: n/a
Not everything in .Net cleans itself up. Are you closing all of your
database connections?

--
HTH,

Kevin Spencer
Microsoft MVP
..Net Developer
Big things are made up of
lots of little things.

"EDom" <te*******@peoplewareindia.com> wrote in message
news:%2****************@TK2MSFTNGP15.phx.gbl...
I get Server Error : Application cannot accept anymore requests.
I have to go to task manager kill the process and then all is fine.

Regards,
"Jon" <jo*******@nusystems.com.au> wrote in message
news:uk**************@TK2MSFTNGP12.phx.gbl...
This is normal behaviour, unless it is causing you a problem.
.Net usually grows and grows until garbage collection comes and cleans it
up.

"EDom" <te*******@peoplewareindia.com> wrote in message
news:%2****************@TK2MSFTNGP12.phx.gbl...
> Hi,
>
> I have aspnet_wp.exe with increasing on every postback and not every
> revisit
> to any page. Even if I clear session and close the browser it remains
> in
> the
> memory. I have only one connection object and it is closed always as I
> have
> it under try catch, and all my variables are disposed at the end of
> each
> function. What could be the issue??
>
> Regards,
> Vineet
>
>
>
>



Nov 19 '05 #6

P: n/a
EDom wrote:
Hi,

I have aspnet_wp.exe with increasing on every postback and not every
revisit to any page. Even if I clear session and close the browser it
remains in the memory. I have only one connection object and it is
closed always as I have it under try catch, and all my variables are
disposed at the end of each function. What could be the issue??


If you really want to know what's going on, you should attach Windbg to the
process, load the SOS extension, and have a look at what's in memory.

http://msdn.microsoft.com/library/de.../jdni_ch01.asp

About three quarters of the way down, you'll see what I'm talking about.

--
Jim Cheshire
JIMCO Software
http://www.jimcosoftware.com

FrontPage add-ins for FrontPage 2000 - 2003


Nov 19 '05 #7

P: n/a
re:
http://msdn.microsoft.com/library/de.../jdni_ch01.asp
About three quarters of the way down, you'll see what I'm talking about.
Hi, Jim.

Are you sure that's the right link ?

That a J2EE <--> .NET Interoperability article.

Juan T. Llibre, ASP.NET MVP
ASP.NET FAQ : http://asp.net.do/faq/
Foros de ASP.NET en Español : http://asp.net.do/foros/
======================================
"JIMCO Software" <co*******@jimcosoftware.com> wrote in message
news:eV**************@TK2MSFTNGP09.phx.gbl... EDom wrote:
Hi,

I have aspnet_wp.exe with increasing on every postback and not every
revisit to any page. Even if I clear session and close the browser it
remains in the memory. I have only one connection object and it is
closed always as I have it under try catch, and all my variables are
disposed at the end of each function. What could be the issue??


If you really want to know what's going on, you should attach Windbg to the process,
load the SOS extension, and have a look at what's in memory.

http://msdn.microsoft.com/library/de.../jdni_ch01.asp

About three quarters of the way down, you'll see what I'm talking about.

Jim Cheshire
JIMCO Software
http://www.jimcosoftware.com

Nov 19 '05 #8

P: n/a
From the same post . . . . . .

# re: When to call GC.Collect()
Monday, November 29, 2004 4:02 PM by Darren Oakey
hmm.... I would disagree...

how about rule1: use GC.collect often and with a vengeance! :)

In my experience, the .net GC is a piece of **** and shouldn't be trusted.
We have found a number of production bugs that have been solved by a single
introduction of GC.Collect.

try it - make any batch routine that say - traverses your disk, opens each
file and computes a checksum, and run it with task manager open - it's quite
an eye-opener. The memory just goes up... and up... and up...

Now, insert the lines GC.Collect(), GC.WaitForPendingFinalizers() after
processing each file. Your job will run _quicker_, because the system isn't
continuously allocating memory, and the memory usage of your program will
remain constant.

I would say

rule 1: Use GC.Collect at the end of any major "operation", or any form
finishing

rule 2: In any loop situation, always follow it with
GC.WaitForPendingFinalizers

rule 3: explicitly dispose anything that it's possible to dispose - to a
large extent, pretend the GC doesn't exist, and you are in an old language.

"Jon" <jo*******@nusystems.com.au> wrote in message
news:%2****************@TK2MSFTNGP10.phx.gbl...
GC only fress memory if there are other apps which needs more memory. If
there is enough free space it will not free memory.

http://blogs.msdn.com/ricom/archive/...29/271829.aspx
"Mr Newbie" <he**@now.com> wrote in message
news:uC**************@TK2MSFTNGP14.phx.gbl...
You can force a collection with the GC.Collect() Method. But you should
not need this most of the time.


"Jon" <jo*******@nusystems.com.au> wrote in message
news:uk**************@TK2MSFTNGP12.phx.gbl...
This is normal behaviour, unless it is causing you a problem.
.Net usually grows and grows until garbage collection comes and cleans
it up.

"EDom" <te*******@peoplewareindia.com> wrote in message
news:%2****************@TK2MSFTNGP12.phx.gbl...
Hi,

I have aspnet_wp.exe with increasing on every postback and not every
revisit
to any page. Even if I clear session and close the browser it remains
in the
memory. I have only one connection object and it is closed always as I
have
it under try catch, and all my variables are disposed at the end of
each
function. What could be the issue??

Regards,
Vineet




Nov 19 '05 #9

P: n/a
Juan T. Llibre wrote:
re:
http://msdn.microsoft.com/library/de.../jdni_ch01.asp
About three quarters of the way down, you'll see what I'm talking
about.


Hi, Jim.

Are you sure that's the right link ?

That a J2EE <--> .NET Interoperability article.


:) Forgot to click the button to sync the TOC.

http://msdn.microsoft.com/library/de...asp?frame=true

--
Jim Cheshire
JIMCO Software
http://www.jimcosoftware.com

FrontPage add-ins for FrontPage 2000 - 2003


Nov 19 '05 #10

P: n/a
> In my experience, the .net GC is a piece of **** and shouldn't be trusted.
We have found a number of production bugs that have been solved by a
single introduction of GC.Collect.
You need to read up on Garbage Collection. The .Net platform uses the best
Grabage Collection of any object-oriented software development platform,
better than Java, better than anything else.

Individual personal experiences don't make for reliable data. Statistics do.
Chances are, you're playing fast and loose with your memory management.
Garbage Collection is not a substitute for good memory management. I have
heard many stories of, for example, apps that ate up all the system memory
by reassigning strings without restraint. A string is an immutable array of
char. When you reassign it (by any number of methods, including
concatenation), you create a new array the size of the new string, and the
old string is discarded. Concatentaion is almost worse than reassignment. It
throws both source strings away and replaces them with a single array that
is the sixe of both the original strings combined. This is why the
StringBuilder class was developed.

There are many ways to be irresponsible with memory.
try it - make any batch routine that say - traverses your disk, opens each
file and computes a checksum, and run it with task manager open - it's
quite an eye-opener. The memory just goes up... and up... and up...
This sounds like one of them. Do you realize how many files are on a
typical Operating System these days? Do you know how expensive it is to use
IO, much less open a file? that is why the CLR includes classes like the
FileInfo and DirectoryInfo classes.

Like anything else, as good as it is, the .Net Platform can be (and often
is) abused by those who are either too lazy or too ignorant to use it
correctly. Nothing in this world can withstand literally anything you throw
at it. Why, it is even possible to destroy a monumental structure like the
World Trade Center, if you just fly a fully-loaded commercial airliner into
it.

--
HTH,

Kevin Spencer
Microsoft MVP
..Net Developer
Big things are made up of
lots of little things.

"Mr Newbie" <he**@now.com> wrote in message
news:%2****************@tk2msftngp13.phx.gbl... From the same post . . . . . .

# re: When to call GC.Collect()
Monday, November 29, 2004 4:02 PM by Darren Oakey
hmm.... I would disagree...

how about rule1: use GC.collect often and with a vengeance! :)

In my experience, the .net GC is a piece of **** and shouldn't be trusted.
We have found a number of production bugs that have been solved by a
single introduction of GC.Collect.

try it - make any batch routine that say - traverses your disk, opens each
file and computes a checksum, and run it with task manager open - it's
quite an eye-opener. The memory just goes up... and up... and up...

Now, insert the lines GC.Collect(), GC.WaitForPendingFinalizers() after
processing each file. Your job will run _quicker_, because the system
isn't continuously allocating memory, and the memory usage of your program
will remain constant.

I would say

rule 1: Use GC.Collect at the end of any major "operation", or any form
finishing

rule 2: In any loop situation, always follow it with
GC.WaitForPendingFinalizers

rule 3: explicitly dispose anything that it's possible to dispose - to a
large extent, pretend the GC doesn't exist, and you are in an old
language.

"Jon" <jo*******@nusystems.com.au> wrote in message
news:%2****************@TK2MSFTNGP10.phx.gbl...
GC only fress memory if there are other apps which needs more memory. If
there is enough free space it will not free memory.

http://blogs.msdn.com/ricom/archive/...29/271829.aspx
"Mr Newbie" <he**@now.com> wrote in message
news:uC**************@TK2MSFTNGP14.phx.gbl...
You can force a collection with the GC.Collect() Method. But you should
not need this most of the time.


"Jon" <jo*******@nusystems.com.au> wrote in message
news:uk**************@TK2MSFTNGP12.phx.gbl...
This is normal behaviour, unless it is causing you a problem.
.Net usually grows and grows until garbage collection comes and cleans
it up.

"EDom" <te*******@peoplewareindia.com> wrote in message
news:%2****************@TK2MSFTNGP12.phx.gbl...
> Hi,
>
> I have aspnet_wp.exe with increasing on every postback and not every
> revisit
> to any page. Even if I clear session and close the browser it remains
> in the
> memory. I have only one connection object and it is closed always as I
> have
> it under try catch, and all my variables are disposed at the end of
> each
> function. What could be the issue??
>
> Regards,
> Vineet
>
>
>
>



Nov 19 '05 #11

P: n/a
First try and read the post accurately, then you would have seen that I was
highlighting the opinion of another person in a post above, not my own.

I made no opinion here on GC, so get off your speakers box and stop
evangelising to the wrong person.

Mr N.
"Kevin Spencer" <ke***@DIESPAMMERSDIEtakempis.com> wrote in message
news:%2****************@TK2MSFTNGP15.phx.gbl...
In my experience, the .net GC is a piece of **** and shouldn't be
trusted. We have found a number of production bugs that have been solved
by a single introduction of GC.Collect.


You need to read up on Garbage Collection. The .Net platform uses the best
Grabage Collection of any object-oriented software development platform,
better than Java, better than anything else.

Individual personal experiences don't make for reliable data. Statistics
do. Chances are, you're playing fast and loose with your memory
management. Garbage Collection is not a substitute for good memory
management. I have heard many stories of, for example, apps that ate up
all the system memory by reassigning strings without restraint. A string
is an immutable array of char. When you reassign it (by any number of
methods, including concatenation), you create a new array the size of the
new string, and the old string is discarded. Concatentaion is almost worse
than reassignment. It throws both source strings away and replaces them
with a single array that is the sixe of both the original strings
combined. This is why the StringBuilder class was developed.

There are many ways to be irresponsible with memory.
try it - make any batch routine that say - traverses your disk, opens
each file and computes a checksum, and run it with task manager open -
it's quite an eye-opener. The memory just goes up... and up... and up...


This sounds like one of them. Do you realize how many files are on a
typical Operating System these days? Do you know how expensive it is to
use IO, much less open a file? that is why the CLR includes classes like
the FileInfo and DirectoryInfo classes.

Like anything else, as good as it is, the .Net Platform can be (and often
is) abused by those who are either too lazy or too ignorant to use it
correctly. Nothing in this world can withstand literally anything you
throw at it. Why, it is even possible to destroy a monumental structure
like the World Trade Center, if you just fly a fully-loaded commercial
airliner into it.

--
HTH,

Kevin Spencer
Microsoft MVP
.Net Developer
Big things are made up of
lots of little things.

"Mr Newbie" <he**@now.com> wrote in message
news:%2****************@tk2msftngp13.phx.gbl...
From the same post . . . . . .

# re: When to call GC.Collect()
Monday, November 29, 2004 4:02 PM by Darren Oakey
hmm.... I would disagree...

how about rule1: use GC.collect often and with a vengeance! :)

In my experience, the .net GC is a piece of **** and shouldn't be
trusted. We have found a number of production bugs that have been solved
by a single introduction of GC.Collect.

try it - make any batch routine that say - traverses your disk, opens
each file and computes a checksum, and run it with task manager open -
it's quite an eye-opener. The memory just goes up... and up... and up...

Now, insert the lines GC.Collect(), GC.WaitForPendingFinalizers() after
processing each file. Your job will run _quicker_, because the system
isn't continuously allocating memory, and the memory usage of your
program will remain constant.

I would say

rule 1: Use GC.Collect at the end of any major "operation", or any form
finishing

rule 2: In any loop situation, always follow it with
GC.WaitForPendingFinalizers

rule 3: explicitly dispose anything that it's possible to dispose - to a
large extent, pretend the GC doesn't exist, and you are in an old
language.

"Jon" <jo*******@nusystems.com.au> wrote in message
news:%2****************@TK2MSFTNGP10.phx.gbl...
GC only fress memory if there are other apps which needs more memory. If
there is enough free space it will not free memory.

http://blogs.msdn.com/ricom/archive/...29/271829.aspx
"Mr Newbie" <he**@now.com> wrote in message
news:uC**************@TK2MSFTNGP14.phx.gbl...
You can force a collection with the GC.Collect() Method. But you should
not need this most of the time.


"Jon" <jo*******@nusystems.com.au> wrote in message
news:uk**************@TK2MSFTNGP12.phx.gbl...
> This is normal behaviour, unless it is causing you a problem.
> .Net usually grows and grows until garbage collection comes and cleans
> it up.
>
>
>
> "EDom" <te*******@peoplewareindia.com> wrote in message
> news:%2****************@TK2MSFTNGP12.phx.gbl...
>> Hi,
>>
>> I have aspnet_wp.exe with increasing on every postback and not every
>> revisit
>> to any page. Even if I clear session and close the browser it remains
>> in the
>> memory. I have only one connection object and it is closed always as
>> I have
>> it under try catch, and all my variables are disposed at the end of
>> each
>> function. What could be the issue??
>>
>> Regards,
>> Vineet
>>
>>
>>
>>
>
>



Nov 19 '05 #12

This discussion thread is closed

Replies have been disabled for this discussion.