Ich habe es mit einer älteren .NET-App zu tun, die einen Speicherverlust aufweist. Um zu versuchen, eine Auslaufspeichersituation zu verringern, habe ich die Speicherbeschränkungen für den App-Pool zwischen 500 KB und 500000 KB (500 MB) festgelegt. Der App-Pool scheint jedoch die Einstellungen nicht zu berücksichtigen, da ich mich anmelden und den physischen anzeigen kann Speicher dafür (5 GB und mehr, egal welche Werte). Diese App beendet den Server und ich kann anscheinend nicht feststellen, wie der App-Pool angepasst werden soll. Welche Einstellungen empfehlen Sie, um sicherzustellen, dass dieser App-Pool nicht mehr als 500 MB Arbeitsspeicher umfasst?
Hier ist ein Beispiel, der App-Pool verwendet 3,5 GB
Der Server ist gerade wieder abgestürzt, und hier ist der Grund:
Derselbe App-Pool mit niedrigen Speicherbeschränkungen, eine 1000-Recycling-Anforderung, die alle zwei oder drei Minuten ein Recycling-Ereignis verursacht, aber manchmal einfach wegläuft.
Ich bin auch offen für jedes Tool, das diesen Prozess überwachen kann (entweder alle 30 Sekunden als Aufgabe oder als Dienst ausführen) und ihn beenden kann, wenn er ein bestimmtes Limit überschreitet.
Antworten:
Ich habe diesen Beitrag gefunden, weil ich Schwierigkeiten habe, einen ähnlichen Beitrag zu beantworten, bei dem die Grenzwerte nicht eingeschränkt werden. Siehe IIS WebLimits werden nicht beachtet .
Ich kann jedoch auf Ihr Problem eingehen. Probieren Sie den folgenden C # -Code aus. Sie könnten das gleiche mit Powershell tun. Sie müssen es mit Administratorrechten ausführen.
quelle