Una forma rápida de ver la cantidad de memoria de trabajo que usa su aplicación es dirigirla a la colección de basura.
long bytes = GC.GetTotalMemory(false);
txtMemoryUsed.Text = bytes.ToString();
y utilizar esta literales <asp:Literal runat="server" ID="txtMemorysUsed" EnableViewState="false" />
Pero, usted puede obtener más detalles utilizando el PerformanceCounter
, por ejemplo, se puede obtener la cantidad de memoria virtual de las piscinas utilizadas por este código:
var oPerfCounter = new PerformanceCounter();
oPerfCounter.CategoryName = "Process";
oPerfCounter.CounterName = "Virtual Bytes";
oPerfCounter.InstanceName = "aspnet_wp";
txtMemorysUsed.Text = "Virtual Bytes: " + oPerfCounter.RawValue + " bytes";
Usted puede usar todos estos parámetros para obtener información para su grupo.
Processor(_Total)\% Processor Time
Process(aspnet_wp)\% Processor Time
Process(aspnet_wp)\Private Bytes
Process(aspnet_wp)\Virtual Bytes
Process(aspnet_wp)\Handle Count
Microsoft® .NET CLR Exceptions\# Exceps thrown/sec
ASP.NET\Application Restarts
ASP.NET\Requests Rejected
ASP.NET\Worker Process Restarts (not applicable to IIS 6.0)
Memory\Available Mbytes
Web Service\Current Connections
Web Service\ISAPI Extension Requests/sec
por ejemplo, estos parámetros obtienen la carga de la CPU.
oPerfCounter.CategoryName = "Processor";
oPerfCounter.CounterName = "% Processor Time";
oPerfCounter.InstanceName = "_Total";
txtOutPut.Text = "Current CPU Usage: " + oPerfCounter.NextValue() + "%";
referencia: http://msdn.microsoft.com/en-us/library/ms972959.aspx
relativa: Monitoring ASP.NET application memory from within the application
tengo prueba que en IIS y los trabajos locales.
¿GC me da la memoria utilizada solo por la aplicación web actual? –
@Mahdi en un entorno compartido, el grupo se ejecuta en muchos sitios, su sitio está vivo con otros sitios, excepto si ha solicitado un grupo "privado". (Así que no es solo la aplicación web actual, sino que es el grupo). Así que obtienes la memoria de tu grupo (incluidos otros sitios que funcionan juntos) – Aristos
Mi panel de control es plesk, y parece que cada usuario tiene un grupo de aplicaciones. (Puedo detenerlo/iniciarlo o incluso limitar el uso de CPU de mis sitios). Entonces, ¿mi grupo de aplicaciones es privado? –