Moin, hab ein MemoryLeak in meiner Spring Boot App, irgendwo in einer Klasse, finde es aber nicht.
Habe mir remote mit jmap -dump:format=b,file=/opt/tmp/heapdump.bin 37320 einen dump erstellt und in VisualVM geöffnet. Ich sehe da, dass ein byte array ausser Rand und Band läuft und das wohl die Stelle ist welche es zu erforschen gilt.
Nur habe ich keinen blassen Schimmer wo ich anfangen soll, da mit keinerlei Klasse oder so in Visual ausgegeben wird:
und als references steht nix besonders
Ich habe die Vermutung, dass eine Klasse immer und immer wieder benutzt wird, obwohl sie jedes Mal neu erstellt werden soll.
Ich habe einen Quartz Job welches jede 15 Minuten aufgerufen wird.
Der Quartzjob ist mit @Service annotiert, Der Quartzjob ist mit @DisallowConcurrentExecution annotiert, nicht aber mit @Service kann es sein, dass jedesmal das selbe Jobobject benutzt wird und darin eine Liste irgendwo stetig wächst? Eigentlich mache ich auf alle Maps und Lists .clear() wenn ich sie nicht mehr brauche, eben um RAM zu sparen. Aber irgendwie klappt das nicht.
Hat jemand ne Idee wie ich dem Leak auf die Spur kommen kann?
Habe mir remote mit jmap -dump:format=b,file=/opt/tmp/heapdump.bin 37320 einen dump erstellt und in VisualVM geöffnet. Ich sehe da, dass ein byte array ausser Rand und Band läuft und das wohl die Stelle ist welche es zu erforschen gilt.
Nur habe ich keinen blassen Schimmer wo ich anfangen soll, da mit keinerlei Klasse oder so in Visual ausgegeben wird:
und als references steht nix besonders
Ich habe die Vermutung, dass eine Klasse immer und immer wieder benutzt wird, obwohl sie jedes Mal neu erstellt werden soll.
Ich habe einen Quartz Job welches jede 15 Minuten aufgerufen wird.
Hat jemand ne Idee wie ich dem Leak auf die Spur kommen kann?