Can I choose whether to create a bunch of heaps or not to fly?

We have an application that is deployed to a WebSphere server running on UNIX, and we encounter two problems:

  • the system freezes, which is restored in a few minutes - for research we need a dump of the stream (javacore).
  • the system crashes, which does not recover and requires a restart of WebSphere - for research, we need a stream dump and a bunch of dumps.

The problem is this: when the system freezes, we do not know if it is problem 1 or 2.

Ideally, we would like to first create the first dump of the stream and wait if the system recovers. If this is not the case, we dump the stream and heap the heap before restarting WebSphere.

I know about the team kill -3(or kill -QUIT). The command will only generate a dump of the stream (if the parameter IBM_HEAPDUMP=false), or a dump of the stream, and dump the heap (if IBM_HEAPDUMP=true). However, it IBM_HEAPDUMPmust be installed before starting WebSphere and cannot be changed while WebSphere is running.

As far as I understand, regarding parameter IBM_HEAPDUMPand command kill -3?

Also, is it possible to get the logs as I described? (i.e. when creating JVM diagnostics, choose whether to generate heap dump or not on the fly)

+5
source share
1 answer

Your understanding is consistent with everything I read.

, , , wsadmin scripting. , javacores heapdumps Windows, kill -3 , WebSphere .

wsadmin wsadmin script :

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

All Articles