Un modo rapido per vedere quante memoria di lavoro è utilizzata dall'applicazione per chiedere la raccolta dati inutili.
long bytes = GC.GetTotalMemory(false);
txtMemoryUsed.Text = bytes.ToString();
e utilizzare questi letterali <asp:Literal runat="server" ID="txtMemorysUsed" EnableViewState="false" />
ma è possibile ottenere ulteriori informazioni utilizzando l'PerformanceCounter
, ad esempio, è possibile ottenere il numero di memoria virtuale le piscine utilizzate da questo codice:
var oPerfCounter = new PerformanceCounter();
oPerfCounter.CategoryName = "Process";
oPerfCounter.CounterName = "Virtual Bytes";
oPerfCounter.InstanceName = "aspnet_wp";
txtMemorysUsed.Text = "Virtual Bytes: " + oPerfCounter.RawValue + " bytes";
È puoi usare tutti questi parametri per ottenere informazioni per il tuo pool.
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
per esempio, questo parametri ottenere il carico della CPU.
oPerfCounter.CategoryName = "Processor";
oPerfCounter.CounterName = "% Processor Time";
oPerfCounter.InstanceName = "_Total";
txtOutPut.Text = "Current CPU Usage: " + oPerfCounter.NextValue() + "%";
di riferimento: http://msdn.microsoft.com/en-us/library/ms972959.aspx
relativa: Monitoring ASP.NET application memory from within the application
ho test che su IIS locale e opere.
GC mi fornisce la memoria utilizzata dall'applicazione Web corrente? –
@Mahdi in un ambiente condiviso il pool viene eseguito su molti siti, il tuo sito è in vita con altri siti, tranne se hai chiesto un pool "privato". (quindi non è solo un'applicazione web corrente, ma è il pool). Quindi ottieni la memoria del tuo pool (compresi altri siti che funzionano insieme) – Aristos
Il mio pannello di controllo è plesk e sembra che ogni utente abbia un pool di applicazioni. (Posso fermarlo/avviarlo o anche limitare l'utilizzo della CPU dei miei siti). Quindi, il mio pool di applicazioni è privato? –