Ich hosse 7 Websites auf einem einzigen Produktionsserver (virtuell) mit 2,53 Ghz (2 CPU) und 8 GB RAM auf WIN SERVER 2008 R2 Enterprise 64 Bit.
Der Webserver ist IIS 7 und alle Websites sind mit dem .NET Framework 4.0-Anwendungspool.
Meine aktuelle Speicherbelegung beträgt etwa 4,16 GB von 8 GB und w3wp.exe ist der meiste Prozess, der den größten Teil der Speicherbelegung verbraucht (etwa 1,6 GB zu diesem Zeitpunkt), gefolgt von sqlservr.exe mit (1,5 GB) Nutzung / p>
Was ich tun möchte, ist zu wissen, welche Website von 7 am meisten Speicher verbraucht, so dass ich einen Blick darauf werfen konnte.
Ich habe Process Explorer und Resource Monitor ausprobiert, aber es konnte nur zeigen, wie viel rem von w3wp.exe gemacht wurde, aber nicht die Benutzung einzelner Webseiten.
Gibt es einen Weg, wo ich den Speicher-Hogger lokalisieren könnte?
Sie können einen Speicherabzug mit dem Debug Diag -Tool von Microsoft machen.
Grundlegender Prozess ist:
Ich würde Ihnen empfehlen, dies in Kombination mit Uri Mays Antwort zu tun, da Sie ansonsten wahrscheinlich viel Zeit verschwenden werden.
Sie können jede Website so konfigurieren, dass sie verschiedene App-Pools verwendet. Auf diese Weise haben Sie einen w3wp.exe -Prozess für jede Website der 7 Websites, die Sie hosten. Danach können Sie das Tool im folgenden diesem Link finden heraus, welche der Websites das Leck verursacht, indem Sie die PID der w3wp.exe mit der größten Speicherbelegung verfolgen.
Im Windows-Task-Manager können Sie sehen, welcher App-Pool die einzelnen w3wp.exe ausführt, indem Sie einfach die Spalte "user" anzeigen. Dies liegt daran, dass jeder App-Pool normalerweise mit einem eigenen Benutzer ausgeführt wird. Sie haben es etwas schwieriger gemacht, dies in Windows 2012 Server zu sehen - Sie müssen zuerst auf die Registerkarte "Details" klicken.
Tags und Links memory-leaks asp.net windows iis-7
Ich möchte nur dann eine Klasse zu einem link_to hinzufügen, wenn eine Aussage wahr ist.
%Vor%Das Problem, dass die IF-Anweisung die gesamte Zeile und nicht nur den : class -Teil betrifft.
Ich weiß, ich kann es mit IF ELSE erledigen, aber ist es möglich, es in 1 Zeile zu tun?
Nun, du könntest das in einem Helfer abstrahieren:
%Vor%Dann können Sie aus Ihrer Sicht einfach %code% machen.
Aktualisieren : oder kompakter:
%Vor%