Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. Web Development
  3. ASP.NET
  4. memory leak?

memory leak?

Scheduled Pinned Locked Moved ASP.NET
helpdatabaseperformancecsharp
3 Posts 2 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • T Offline
    T Offline
    todd 01011101
    wrote on last edited by
    #1

    Where to begin... I am responsible for a .net web application (vb.net) that I just converted to 2.0 from 1.1. The conversion was just one component of the changes involved in the current version, but it was the primary one. I have recently begun doing some stability and memory profiling tests and I am observing an alarming trend. I am really hoping someone can help me to understand how to best approach my problem. I have created a testing environment with a server running ws2k3 and another system as a loadgun running an act script. When I apply load to my app for a number of hours it seems as though the memory consumption just keeps on rising and rising. I haven't seen it plateau as I expected to. My app is divided into a front-end and a back-end component. These run on different servers in the production environment, each of which is running in its own application pool on the same server in my test environment. I am monitoring the consumption of memory by the app using perfmon on the server, and the following counters: "Process.Private Bytes" (for the w3wp process) "Process.Private Bytes" (for the w3wp#1 process) ".NET CLR Memory.#Bytes in all Heaps" (For the w3wp process) ".NET CLR Memory.#Bytes in all Heaps" (For the w3wp#1 process) If I'm way off base with the counters to use here, please let me know. I'm the first to admit I'm at the foot of a steep learning curve here. I was initially hoping to see the memory consumption flatten out after running the app for a short time. When that didnt' happen I added the #Bytes in all Heaps, hoping to see if the garbage collector was keeping the size of the Heaps down. I thought I could tell if the problem was with an unmanaged memory leak, or just the CLR's tolerance for memory usage being really high in .net 2.0 as opposed to 1.1. What I've observed is that both counters keep on rising and rising. I haven't been able to kill the server with memory consumption yet, because my test database kept running out of space and stopping the test, but I've increased the space in the db, and am now running the test again for 16 hours. I am about 4 hours into the test, and the memory consumption shows no signs of flattening out. I don't have the luxury of much time to try and figure out what's going on. Due to other issues, I wasn't able to start these tests until way too late in the development cycle, and now I'm stuck. I know my post is probably already too long, but If anyone can help by giving me some ideas or direction. Or help me to understand w

    R 1 Reply Last reply
    0
    • T todd 01011101

      Where to begin... I am responsible for a .net web application (vb.net) that I just converted to 2.0 from 1.1. The conversion was just one component of the changes involved in the current version, but it was the primary one. I have recently begun doing some stability and memory profiling tests and I am observing an alarming trend. I am really hoping someone can help me to understand how to best approach my problem. I have created a testing environment with a server running ws2k3 and another system as a loadgun running an act script. When I apply load to my app for a number of hours it seems as though the memory consumption just keeps on rising and rising. I haven't seen it plateau as I expected to. My app is divided into a front-end and a back-end component. These run on different servers in the production environment, each of which is running in its own application pool on the same server in my test environment. I am monitoring the consumption of memory by the app using perfmon on the server, and the following counters: "Process.Private Bytes" (for the w3wp process) "Process.Private Bytes" (for the w3wp#1 process) ".NET CLR Memory.#Bytes in all Heaps" (For the w3wp process) ".NET CLR Memory.#Bytes in all Heaps" (For the w3wp#1 process) If I'm way off base with the counters to use here, please let me know. I'm the first to admit I'm at the foot of a steep learning curve here. I was initially hoping to see the memory consumption flatten out after running the app for a short time. When that didnt' happen I added the #Bytes in all Heaps, hoping to see if the garbage collector was keeping the size of the Heaps down. I thought I could tell if the problem was with an unmanaged memory leak, or just the CLR's tolerance for memory usage being really high in .net 2.0 as opposed to 1.1. What I've observed is that both counters keep on rising and rising. I haven't been able to kill the server with memory consumption yet, because my test database kept running out of space and stopping the test, but I've increased the space in the db, and am now running the test again for 16 hours. I am about 4 hours into the test, and the memory consumption shows no signs of flattening out. I don't have the luxury of much time to try and figure out what's going on. Due to other issues, I wasn't able to start these tests until way too late in the development cycle, and now I'm stuck. I know my post is probably already too long, but If anyone can help by giving me some ideas or direction. Or help me to understand w

      R Offline
      R Offline
      RichardGrimmer
      wrote on last edited by
      #2

      AFAIK, this is the way it's supposed to work - mainly cos it needs to maintain sessions until they timeout. Luckilly, once aspnet_wp / w3wp process will recycle once it reaches a defined limit :) Nothing to see here - move along lol

      "Knock me down, I'll get straight back up again, I'll come back stronger than a powered up pacman" (Lilly Allen / Kaiser Chiefs)

      T 1 Reply Last reply
      0
      • R RichardGrimmer

        AFAIK, this is the way it's supposed to work - mainly cos it needs to maintain sessions until they timeout. Luckilly, once aspnet_wp / w3wp process will recycle once it reaches a defined limit :) Nothing to see here - move along lol

        "Knock me down, I'll get straight back up again, I'll come back stronger than a powered up pacman" (Lilly Allen / Kaiser Chiefs)

        T Offline
        T Offline
        todd 01011101
        wrote on last edited by
        #3

        Where is this value defined for IIS6 & .NET 2.0? For .NET 1.1 the memory limit was defined by percentage in the memorylimit attribute of the process model machine.config tag. The .NET 2.0 machine.config has no memorylimit attribute of the process model tag. Just to clarify, are you suggesting the memory is supposed to ramp until the w3wp process restarts to clear it?

        1 Reply Last reply
        0
        Reply
        • Reply as topic
        Log in to reply
        • Oldest to Newest
        • Newest to Oldest
        • Most Votes


        • Login

        • Don't have an account? Register

        • Login or register to search.
        • First post
          Last post
        0
        • Categories
        • Recent
        • Tags
        • Popular
        • World
        • Users
        • Groups