2012-05-16 8 views
5

Wir haben eine Anwendung, die auf einem WebSphere-Server auf UNIX eingesetzt ausgeführt wird, und wir erleben zwei Probleme:Ist es möglich zu wählen, ob ein Heap Dump oder nicht im laufenden Betrieb generiert wird?

  1. ein System hängen, die nach wenigen Minuten wieder - untersuchen, werden wir den Thread-Dump müssen (JavaCore).
  2. ein System hängt, das nicht wiederhergestellt wird und erfordert, dass WebSphere neu gestartet wird - zur Untersuchung benötigen wir den Thread-Dump und den Heap-Dump.

Das Problem ist: Wenn ein System hängen auftritt, wir wissen nicht, ob es Ausgabe 1 oder 2 ist

Im Idealfall würden wir zuerst die Thread-Dump manuell erzeugen möchten, und warten, wenn das sehen System erholt sich. Wenn dies nicht der Fall ist, generieren wir vor dem Neustart von WebSphere den Thread-Dump und den Heap-Dump.

Ich weiß über den kill -3 (oder kill -QUIT) Befehl. Der Befehl würde nur Thread-Dump generieren (wenn der Parameter IBM_HEAPDUMP=false), oder Thread-Dump und Heap-Dump (wenn IBM_HEAPDUMP=true). Allerdings muss vor dem Start von WebSphere festgelegt werden und kann nicht geändert werden, während WebSphere ausgeführt wird.

Ist mein Verständnis korrekt, in Bezug auf die Parameter und die kill -3 Befehl?

Ist es auch möglich, die Protokolle wie beschrieben zu bekommen? (d. h. beim Generieren von JVM-Diagnosen wählen Sie, ob ein Heap-Dump generiert werden soll oder nicht)

Antwort

2

Ihr Verständnis stimmt mit allem überein, was ich gelesen habe.

Allerdings glaube ich, dass Sie erreichen können, was Sie wollen, indem Sie wsadmin scripting verwenden. This article describes how to force javacores and heapdumps on a Windows platform Dabei ist kill -3 nicht verfügbar, aber dieselben Befehle können auf jedem WebSphere-System ausgeführt werden.

Von innerhalb wsadmin oder einem wsadmin Skript ausführen:

set jvm [$AdminControl completeObjectName type=JVM,process=server1,*]​ 
$AdminControl invoke $jvm generateHeapDump​ 
$AdminControl invoke $jvm dumpThreads​ 
+0

Ihnen sehr danken. Nach dem Lesen Ihrer Antwort habe ich auch diesen Link zum Generieren von Heap-Dumps von WebSphere gefunden: http://www-01.ibm.com/support/docview.wss?uid=swg21384926. Es enthält detailliertere Erklärungen. – Andy

Verwandte Themen