Ich habe eine Java-Webanwendung entwickelt, die derzeit in Tomcat7 auf Debian (Himbeerpy) eingesetzt wird. Wenn die Anwendung gestartet wird, entspricht der verwendete Speicher 20%. Aber wenn ich meinen eigenen Webserver anrufe, ruft er eine Ruhe-API auf, die mehr als 1k Entitäten (JSON-> Java-Objekte) zurückgibt und über sie iteriert, um mit Hibernate zu speichern. Um die Datenbank zu füllen, muss ich dies viele Male aufrufen und nach 5 oder 6 Anrufen erreicht die Speichernutzung fast den maximalen Wert und wird nie besser. Auch ich kann sehen, dass nach ein paar Anrufen die Geschwindigkeit des Herunterladens und Speicherns (Batch) so so langsamer wird.Tomcat und Java Speicherleck
Was mache ich falsch? Es ist möglich, dass alle Entitäten nach der Nutzung nicht gelöscht werden.
Dies ist ein Bild über Memory Usage
Grüße
Bitte fügen Sie Ihre Speichermethode hinzu. –
Möglicherweise ein Leck. Aber Sie müssen Code hinzufügen, um dies zu überprüfen. – Fildor
Verwenden Sie einen Profiler, um zu sehen, wie Ihre Anwendung Speicher verwendet. Es könnte ein Leck sein, es könnte sein, dass Ihre Anwendung nur mehr Speicher benötigt als verfügbar ist. –