IIS应用程序池性能分析

#查看应用程序池和w3wp.exe进程的对应关系
iisapp -a

C:windowssystem32inetsrvappcmd.exe list wp

查看任务管理器:

在性能计数器中找到对应的w3wp进程(使用PID进行匹配)

6580就是 w3wp#1的PID,所对应的apppool就是pricemanage2

然后再查看所需要的w3wp#1进程的内存使用情况:

参考:http://support.microsoft.com/kb/919790/zh-cn   Memory Leak分析

     http://outofmemory.cn/c/dotNet-outOfMemoryException

     http://support.microsoft.com/kb/2020006   Out Of Memory调试分析

     http://blog.csdn.net/lazyleland/article/details/6704661  Ou tOf Memory调试分析(性能计数器分析、WinDbug调试Dump)

      If you get OOM's at 400 MB, there are a few possibilities :(WinDbug调试Dump)

      http://blogs.msdn.com/b/tess/archive/2005/11/25/who-is-this-outofmemory-guy-and-why-does-he-make-my-process-crash-when-i-have-plenty-of-memory-left.aspx

      

  A 32-bit operating system can address 4GB of virtual address space, regardless of the amount of physical memory that is installed in the box. Out of that, 2GB is reserved for the operating system (Kernel-mode memory) and 2GB is allocated to user-mode processes. The 2GB allocated for Kernel-mode memory is shared among all processes, but each process gets its own 2GB of user-mode address space. (This all assumes that you are not running with the /3gb switch enabled.)

  When an application needs to use memory, it reserves a chunk of the virtual address space and then commits memory from that chunk. This is exactly what the .NET Framework's garbage collector (GC) does when it needs memory to grow the managed heaps. When the GC needs a new segment for the small object heap (where objects smaller than 85K reside), it makes an allocation of 64MB. When it needs a new segment for the large object heap, it makes an allocation of 32MB. These large allocations must be satisfied from contiguous blocks of the 2GB of address space that the process has to work with. If the operating system is unable to satisfy the GC's request for a contiguous block of memory, a System.OutOfMemoryException (OOM) occurs.

  There are two reasons why you might see an OOM condition.

  1. Your process is using a lot of memory (typically over 800MB.)
  2. The virtual address space is fragmented, reducing the likelihood that a large, contiguous allocation will succeed.

  It's also possible to see an OOM condition due to a combination of 1 and 2.

  From:http://blogs.iis.net/webtopics/archive/2009/05/22/troubleshooting-system-outofmemoryexceptions-in-asp-net.aspx  Out Of Memory调试分析

原文地址:https://www.cnblogs.com/dreamer-fish/p/4031128.html