Kann Thread-Dump nicht abgerufen werden? Irgendwelche Ideen, warum meine App blockiert?

8

Ich habe eine grundlegende Java-Server-App mit 100 Worker-Threads, die einfache HEAD-Anfragen für URLs ausführen. Ich verwende HttpClient 4.x dafür.

Nach ein paar Minuten friert mein Programm für ein paar Minuten ein und ich kann nicht verstehen warum. Sehen Sie sich den Screenshot an, über den Visual Visual Monitor berichtet. Sie können es flach sehen. Während dieser Zeit kann ich keinen guten Thread-Dump bekommen und visual vm friert nur ein, bis es entsperrt ist. Hat jemand irgendwelche Ideen, was ich tun kann, um zu versuchen, diesen Kerl zu debuggen?

Visuelle VM: Ссылка

Hier ist die Ausgabe, als ich versuchte, einen Jstack-Dump zu machen, während er eingefroren war:

%Vor%     
James 05.09.2010, 19:43
quelle

3 Antworten

4

Ich habe mehrere Fehlerberichte über jstack auf Linux mit einer ähnlichen Ablaufverfolgung gesehen:

Erhalten Sie dasselbe Ergebnis mit kill -3 <pid> ?

    
Pascal Thivent 05.09.2010 22:58
quelle
0

Sehr likley wegen zu viel Speicherverbrauch verursacht GC. Fügen Sie die Parameter zu Java hinzu:

%Vor%

Und sehen Sie, ob Sie irgendetwas in den Ausgaben / Protokollen offensichtlich finden

    
bwawok 05.09.2010 22:43
quelle
0

Was für mich funktionierte, war die Ausführung von jstack als Prozesseigner ohne -F .

    
Daniel Lubarov 08.01.2013 21:40
quelle