Ich habe ein Applet, das nicht genügend Arbeitsspeicher hat. Eine Heap-Dump-Analyse zeigt, dass der Schuldige ein char [] ist, das dem traceMsgQueueThread gehört, das den gesamten Inhalt der Java-Konsolenausgabe enthält. Dies wird mit der Zeit größer, wenn Protokollmeldungen an die Konsole gesendet werden, bis das Applet nicht mehr genügend Arbeitsspeicher hat.Konsolenausgabe in char [] gespeichert verursacht OutOfMemoryError
Dies scheint nur für eine Handvoll Clients auftreten, und wurde auf verschiedenen JREs von Pre 1.5 bis 1.6.0_10 gesehen. Alle unsere Clients laufen mit den gleichen Parametern, d. H. -Xmx256m und -XX: + HeapDumpOnOutOfMemoryError, aber nur wenige zeigen dieses Problem.
Das Ausschalten der Konsole schien in einer Instanz zu funktionieren, aber es war nicht wiederholbar und leider keine Option, da wir die Protokollierung benötigen.
Hat jemand das schon mal gesehen oder weiß was zu tun?
Das schien in einem Fall zu funktionieren, aber laut dem Client war es nicht wiederholbar und ist leider keine Option, da wir die Protokollierung benötigen. –