From: venom00 on
Hello, i'm on a VPS with Windows 2003 x64 (IIS 6.0 so) and i have a
serious problem with w3wp.exe. It starts from 60 Mb and then grows
until the whole avaiable RAM is used.

http://img32.imageshack.us/img32/4120/w3wpgraph.png

Here's an example image showing w3wp.exe private bytes and Gen 0 Heap
size. They seems related, but if I use ".NET CLR Memory/# Bytes in all
Heaps " it is much lower than private bytes. Can we still say that is
an ASP .Net problem?

Moreover analyzing a crash dump the heap size i obtain is smaller, 200
Mb while the crash dump was 700 mb and private bytes about 600 mb.

http://pastebin.com/m6c448c9d

Here is also a !dumpheap -stat:

http://pastebin.com/m7fd72aa

I've done a "!dumpheap -mt 000006427881aaf8" (the System.String entry)
and I've found that the bigger strings are aspx pages. I've a lot of
them on my website (thousands). Maybe w3wp.exe is caching them? How
can i disable this feature?
!gcroot on one of this strings gives the following output:

http://pastebin.com/m15545adc

Does this mean it's orphaned but not collected by the GC?

Here's a "!dumpheap -stat -type Cach":

http://pastebin.com/m2955d688

And a !do and a !gcroot of a CacheEntry:

http://pastebin.com/f38df0a24


If you need it, I can also give you the link to the whole dump. I've
been working on it for a week without results!

Thanks in advance,
Carl
From: Jeffrey Ingalls on
Hi,

Sorry to hear of your problem. The information given isn't enough to give
me any clues to the issue. ASP caching can be configured however doing so
will certainly impact performance. Make sure you run it in a test
environment first before making the change to production.

I'm not sure if you've tried it or not but the Debug Diagnostic Tool
provides some functionality that may help you resolve the problem.

You are more than welcome to post a link to a zipped up copy of the memory
dump but these cases are best geared towards the people who analyze memory
dumps on a daily basis, MS product support.

Configuring ASP Caching in IIS 6:
http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/a5766228-828e-4e31-a92b-51da7d24d569.mspx?mfr=true

Debug Diagnostic Tool v1.1
http://www.microsoft.com/downloads/details.aspx?FamilyID=28bd5941-c458-46f1-b24d-f60151d875a3&displaylang=en

Microsoft product support numbers:
http://support.microsoft.com/default.aspx?scid=fh;EN-US;PHONENUMBERS

If you are outside the US please see http://support.microsoft.com for
regional support phone numbers.

All the best,
Jeffrey Ingalls


"venom00" wrote:

> Hello, i'm on a VPS with Windows 2003 x64 (IIS 6.0 so) and i have a
> serious problem with w3wp.exe. It starts from 60 Mb and then grows
> until the whole avaiable RAM is used.
>
> http://img32.imageshack.us/img32/4120/w3wpgraph.png
>
> Here's an example image showing w3wp.exe private bytes and Gen 0 Heap
> size. They seems related, but if I use ".NET CLR Memory/# Bytes in all
> Heaps " it is much lower than private bytes. Can we still say that is
> an ASP .Net problem?
>
> Moreover analyzing a crash dump the heap size i obtain is smaller, 200
> Mb while the crash dump was 700 mb and private bytes about 600 mb.
>
> http://pastebin.com/m6c448c9d
>
> Here is also a !dumpheap -stat:
>
> http://pastebin.com/m7fd72aa
>
> I've done a "!dumpheap -mt 000006427881aaf8" (the System.String entry)
> and I've found that the bigger strings are aspx pages. I've a lot of
> them on my website (thousands). Maybe w3wp.exe is caching them? How
> can i disable this feature?
> !gcroot on one of this strings gives the following output:
>
> http://pastebin.com/m15545adc
>
> Does this mean it's orphaned but not collected by the GC?
>
> Here's a "!dumpheap -stat -type Cach":
>
> http://pastebin.com/m2955d688
>
> And a !do and a !gcroot of a CacheEntry:
>
> http://pastebin.com/f38df0a24
>
>
> If you need it, I can also give you the link to the whole dump. I've
> been working on it for a week without results!
>
> Thanks in advance,
> Carl
> .
>
From: venom00 on
Hello Jeffrey, in a short I'll upload the dump somewhere. I don't
think the problem i ASP caching, it's ASP .Net most probably (the
first link you gave me is about ASP Classic, isn't it?).
It seems to be a bug of x64 .Net:

http://blogs.msdn.com/tess/archive/2007/08/09/asp-net-memory-issue-high-memory-usage-in-a-64bit-w3wp-exe-process.aspx
http://support.microsoft.com/?scid=kb%3Ben-us%3B912891&x=15&y=5

The first article is exactly describing my issue, but I'm not sure and
the fix isn't public, I've tried to swtich to .Net 3.5 but things
didn't get any better.

I also tried to disable ASP .Net caching throgh web.config but without
results.

What do you think?

Thanks in advance,
Carl

On 19 Nov, 14:25, Jeffrey Ingalls
<JeffreyInga...(a)discussions.microsoft.com> wrote:
> Hi,
>
> Sorry to hear of your problem.  The information given isn't enough to give
> me any clues to the issue.  ASP caching can be configured however doing so
> will certainly impact performance.  Make sure you run it in a test
> environment first before making the change to production.
>
> I'm not sure if you've tried it or not but the Debug Diagnostic Tool
> provides some functionality that may help you resolve the problem.  
>
> You are more than welcome to post a link to a zipped up copy of the memory
> dump but these cases are best geared towards the people who analyze memory
> dumps on a daily basis, MS product support.  
>
> Configuring ASP Caching in IIS 6:http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Librar...
>
> Debug Diagnostic Tool v1.1http://www.microsoft.com/downloads/details.aspx?FamilyID=28bd5941-c45...
>
> Microsoft product support numbers:http://support.microsoft.com/default.aspx?scid=fh;EN-US;PHONENUMBERS
>
> If you are outside the US please seehttp://support.microsoft.comfor
> regional support phone numbers.
>
> All the best,
> Jeffrey Ingalls
>
> "venom00" wrote:
> > Hello, i'm on a VPS with Windows 2003 x64 (IIS 6.0 so) and i have a
> > serious problem with w3wp.exe. It starts from 60 Mb and then grows
> > until the whole avaiable RAM is used.
>
> >http://img32.imageshack.us/img32/4120/w3wpgraph.png
>
> > Here's an example image showing w3wp.exe private bytes and Gen 0 Heap
> > size. They seems related, but if I use ".NET CLR Memory/# Bytes in all
> > Heaps " it is much lower than private bytes. Can we still say that is
> > an ASP .Net problem?
>
> > Moreover analyzing a crash dump the heap size i obtain is smaller, 200
> > Mb while the crash dump was 700 mb and private bytes about 600 mb.
>
> >http://pastebin.com/m6c448c9d
>
> > Here is also a !dumpheap -stat:
>
> >http://pastebin.com/m7fd72aa
>
> > I've done a "!dumpheap -mt 000006427881aaf8" (the System.String entry)
> > and I've found that the bigger strings are aspx pages. I've a lot of
> > them on my website (thousands). Maybe w3wp.exe is caching them? How
> > can i disable this feature?
> > !gcroot on one of this strings gives the following output:
>
> >http://pastebin.com/m15545adc
>
> > Does this mean it's orphaned but not collected by the GC?
>
> > Here's a "!dumpheap -stat -type Cach":
>
> >http://pastebin.com/m2955d688
>
> > And a !do and a !gcroot of a CacheEntry:
>
> >http://pastebin.com/f38df0a24
>
> > If you need it, I can also give you the link to the whole dump. I've
> > been working on it for a week without results!
>
> > Thanks in advance,
> > Carl
> > .

From: Brian Cryer on
"venom00" <venom.zero.zero(a)gmail.com> wrote in message
news:fbfea9ce-bbed-4645-bc1b-0ce00e7b1977(a)a31g2000yqn.googlegroups.com...
> Hello, i'm on a VPS with Windows 2003 x64 (IIS 6.0 so) and i have a
> serious problem with w3wp.exe. It starts from 60 Mb and then grows
> until the whole avaiable RAM is used.
>
> http://img32.imageshack.us/img32/4120/w3wpgraph.png
>
> Here's an example image showing w3wp.exe private bytes and Gen 0 Heap
> size. They seems related, but if I use ".NET CLR Memory/# Bytes in all
> Heaps " it is much lower than private bytes. Can we still say that is
> an ASP .Net problem?

This sounds like a poorly designed application. .NET applications have a
good garbage collector, but its still quite easy to write an application
which grabs memory without releasing it (constantly plugging data into the
application cache is one way).

As a short term measure, you can look at the properties for the application
pool for the application (assuming you can identify the appliction and its
pool), and set it to recycle after its used so much memory. If the
application is well written it will survive the application pool being
recycled, if its poorly written (which it might be given your memory issue)
then this might close any sessions that web-ap has open. Try and see.
--
Brian Cryer
www.cryer.co.uk/brian


From: Jeffrey Ingalls on
Hi Carl,

If the article is exactly describing your issue then I'd call PSS and ask
for the fix. You don't get billed for a hotfix. :)

Yes, you're right. The article I posted was for classic ASP. Sorry about
that.

Article for ASP.NET caching:
http://www.iis.net/ConfigReference/system.webServer/caching

All the best,
Jeffrey Ingalls


"venom00" wrote:

> Hello Jeffrey, in a short I'll upload the dump somewhere. I don't
> think the problem i ASP caching, it's ASP .Net most probably (the
> first link you gave me is about ASP Classic, isn't it?).
> It seems to be a bug of x64 .Net:
>
> http://blogs.msdn.com/tess/archive/2007/08/09/asp-net-memory-issue-high-memory-usage-in-a-64bit-w3wp-exe-process.aspx
> http://support.microsoft.com/?scid=kb%3Ben-us%3B912891&x=15&y=5
>
> The first article is exactly describing my issue, but I'm not sure and
> the fix isn't public, I've tried to swtich to .Net 3.5 but things
> didn't get any better.
>
> I also tried to disable ASP .Net caching throgh web.config but without
> results.
>
> What do you think?
>
> Thanks in advance,
> Carl
>
> On 19 Nov, 14:25, Jeffrey Ingalls
> <JeffreyInga...(a)discussions.microsoft.com> wrote:
> > Hi,
> >
> > Sorry to hear of your problem. The information given isn't enough to give
> > me any clues to the issue. ASP caching can be configured however doing so
> > will certainly impact performance. Make sure you run it in a test
> > environment first before making the change to production.
> >
> > I'm not sure if you've tried it or not but the Debug Diagnostic Tool
> > provides some functionality that may help you resolve the problem.
> >
> > You are more than welcome to post a link to a zipped up copy of the memory
> > dump but these cases are best geared towards the people who analyze memory
> > dumps on a daily basis, MS product support.
> >
> > Configuring ASP Caching in IIS 6:http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Librar...
> >
> > Debug Diagnostic Tool v1.1http://www.microsoft.com/downloads/details.aspx?FamilyID=28bd5941-c45...
> >
> > Microsoft product support numbers:http://support.microsoft.com/default.aspx?scid=fh;EN-US;PHONENUMBERS
> >
> > If you are outside the US please seehttp://support.microsoft.comfor
> > regional support phone numbers.
> >
> > All the best,
> > Jeffrey Ingalls
> >
> > "venom00" wrote:
> > > Hello, i'm on a VPS with Windows 2003 x64 (IIS 6.0 so) and i have a
> > > serious problem with w3wp.exe. It starts from 60 Mb and then grows
> > > until the whole avaiable RAM is used.
> >
> > >http://img32.imageshack.us/img32/4120/w3wpgraph.png
> >
> > > Here's an example image showing w3wp.exe private bytes and Gen 0 Heap
> > > size. They seems related, but if I use ".NET CLR Memory/# Bytes in all
> > > Heaps " it is much lower than private bytes. Can we still say that is
> > > an ASP .Net problem?
> >
> > > Moreover analyzing a crash dump the heap size i obtain is smaller, 200
> > > Mb while the crash dump was 700 mb and private bytes about 600 mb.
> >
> > >http://pastebin.com/m6c448c9d
> >
> > > Here is also a !dumpheap -stat:
> >
> > >http://pastebin.com/m7fd72aa
> >
> > > I've done a "!dumpheap -mt 000006427881aaf8" (the System.String entry)
> > > and I've found that the bigger strings are aspx pages. I've a lot of
> > > them on my website (thousands). Maybe w3wp.exe is caching them? How
> > > can i disable this feature?
> > > !gcroot on one of this strings gives the following output:
> >
> > >http://pastebin.com/m15545adc
> >
> > > Does this mean it's orphaned but not collected by the GC?
> >
> > > Here's a "!dumpheap -stat -type Cach":
> >
> > >http://pastebin.com/m2955d688
> >
> > > And a !do and a !gcroot of a CacheEntry:
> >
> > >http://pastebin.com/f38df0a24
> >
> > > If you need it, I can also give you the link to the whole dump. I've
> > > been working on it for a week without results!
> >
> > > Thanks in advance,
> > > Carl
> > > .
>
> .
>