Ich verwalte einen Windows 2008-Server (also unter Amazon EC2), auf dem IIS und eine .NET4-Webanwendung ausgeführt werden. Ich bekam neulich einen Speicheralarm und ging und schaute, und sicher war der Prozessspeicher im Laufe der Zeit durch eine Art langsames Leck gewachsen. Es wuchs nicht viel, genau wie 60 bis 200 Millionen, aber es war genug anderes mit der Box los, dass es unsere ziemlich niedrige Schwelle (75%) überschritt, um den Monitor auszuschalten.
Ich habe den Pool der App recycelt und den Speicher freigegeben. Bei der Überprüfung der Statistiken habe ich festgestellt, dass der Swap-Speicherplatz erheblich genutzt wurde und mehr als 1 GB davon mit diesem Recycling freigegeben wurden.
Vielleicht ist dies eine grundlegende Frage, aber ich bin ein UNIX-Typ und ich bin es gewohnt, mich nicht daran zu gewöhnen, bis Sie nicht mehr genügend Speicher haben. Diese Box hat 75% des Speicherbedarfs nie überschritten. Ist das eine Windows-Sache oder eine .NET-Sache oder eine Amazon-Sache? Ich vermute, dass diese App einen viel größeren Speicherverlust aufweist als vermutet - sie tritt nicht von 60 Millionen auf 200 Millionen aus, sondern von 60 Millionen auf 1,2 GB, aber vieles davon wird irgendwie "kalt" und zum Austauschen herausgeschoben?
Ich habe das Speicherrecycling im Anwendungspool eingestellt, aber es löst den vollen Speicher aus der Box aus, sodass diese App sehr, sehr groß werden kann, bevor sie automatisch recycelt wird.
Ich könnte ein regelmäßiges "zeitgesteuertes" Recycling einrichten, aber das ist eine Problemumgehung. Ich werde den Entwickler dazu bringen, die App zu reparieren, muss aber verstehen, was hier mit der Swap-Nutzung vor sich geht, um sicherzustellen, dass ich dieses Recht verstehe.
Bearbeiten mit mehr Infos: Instanzspeicher: 1,7 GB Swap: 4,5 GB
Ich sehe den Prozess w3wp.exe in taskmgr, der diesen Speicher zeigt: 211.000k. Aber als ich es neu startete (es befindet sich in einem eigenen App-Pool und es ist die einzige App auf der Box), ging die Speichernutzung auf den normalen Startpunkt von 60 Millionen zurück und wie 1 GB + Swap wurde auch freigegeben. In taskmgr hatte ich gerade den üblichen Speicherstatus (Private Working Set), sah aber, dass sich der Austausch über meine andere Überwachung (Cloudkick) änderte. Wenn man sich das heute noch einmal ansieht, ist der Arbeitsspeicher wieder auf 195 MB angewachsen (insgesamt 1,2 GB), und der Swap hat sich von 1,0 GB auf 1,1 GB erhöht langsames Kriechen).
Ich bin weniger besorgt über diese spezielle App als vielmehr darüber, wann Windows-Swaps und deren Verwendung verwendet werden und was ich angesichts des Windows-Speichers und der Swap-Nutzung im Allgemeinen zu beachten habe.