w3wp.exe (ASP .Net) eating memory

Discussion in 'ASP General' started by venom00, Nov 17, 2009.

  1. venom00

    venom00 Guest

    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
     
    venom00, Nov 17, 2009
    #1
    1. Advertisements

  2. venom00

    Bob Barrows Guest

    ***canned wrong-newsgroup reply************************
    There was no way for you to know it (except maybe by browsing through some
    of the previous questions in this newsgroup before posting yours - always a
    recommended practice) , but this is a classic (COM-based) asp newsgroup.
    ASP.Net bears very little resemblance to classic ASP so, while you may be
    lucky enough to find a dotnet-knowledgeable person here who can answer your
    question, you can eliminate the luck factor by posting your question to a
    group where those dotnet-knowledgeable people hang out. I suggest
    microsoft.public.dotnet.framework.aspnet or the forums at www.asp.net.
    ******************************************************************
     
    Bob Barrows, Nov 17, 2009
    #2
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.