1 Reply Latest reply on Sep 2, 2013 3:28 AM by sfcoy

    EAP6 and twiddle

    ramxp

      Hello All,

       

      We have an EAP6 JBOSS and I need to look at thread dumps without altering the way the server is started up using scripts. I could not find the file twiddle.sh under the bin folder. I am surprised this is missing - is it something that comes with the build or can be just downloaded and used to perform command line tasks. Any other alternative suggestions are also highly appreciated.

        • 1. Re: EAP6 and twiddle
          sfcoy

          You don't need twiddle to perform thread dumps.

           

          Use the "jstack" command that comes with the JDK:

          [steve@steves-mbpw wildfly]$ jps -v
          20730 Main -Dprogram.name=JBossTools: JBoss EAP 6.1 Runtime Server -Xms1303m -Xmx1303m -XX:MaxPermSize=256m -Dorg.jboss.resolver.warning=true -Djava.net.preferIPv4Stack=true -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true -Dorg.jboss.boot.log.file=/Users/steve/servers/jboss-eap-6.1/standalone/log/boot.log -Dlogging.configuration=file:/Users/steve/servers/jboss-eap-6.1/standalone/configuration/logging.properties -Djboss.home.dir=/Users/steve/servers/jboss-eap-6.1 -Dorg.jboss.logmanager.nocolor=true -Dfile.encoding=UTF-8
          20735 Jps -Dapplication.home=/Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/Home -Xms8m
          18415  -Dosgi.requiredJavaVersion=1.6 -XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts -XX:MaxPermSize=256m -Xms40m -Xmx1536m -Xdock:icon=../Resources/Eclipse.icns -XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts
          [steve@steves-mbpw wildfly]$ jstack 20730
          2013-09-02 17:23:44
          Full thread dump Java HotSpot(TM) 64-Bit Server VM (23.25-b01 mixed mode):
          
          "Attach Listener" daemon prio=5 tid=0x00007fdc66330800 nid=0xa103 waiting on condition [0x0000000000000000]
             java.lang.Thread.State: RUNNABLE
          
          "pool-1-thread-1" prio=5 tid=0x00007fdc66217800 nid=0x9007 waiting on condition [0x000000016f8e6000]
             java.lang.Thread.State: TIMED_WAITING (parking)
            at sun.misc.Unsafe.park(Native Method)
            - parking to wait for  <0x00000001230be728> (a java.util.concurrent.SynchronousQueue$TransferStack)
            at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226)
            at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:460)
            at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:359)
            at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:942)
            at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
            at java.lang.Thread.run(Thread.java:724)
          ...