• Performing a thread dump in Linux or Windows--reference


    Linux/Unix

    1. Find the Java/Tomcat process id.

    % ps ax | grep java
    

    You should see output like this

    17207 ?        Sl    78:36 /usr/java/default/bin/java -Djava.util.logging.config.file=/usr/tomcat/tomcat6/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Xmx1024M -Xms128M -XX:MaxPermSize=256M -Djava.awt.headless=true -Djava.endorsed.dirs=/usr/tomcat/tomcat6/endorsed -classpath :/usr/tomcat/tomcat6/bin/bootstrap.jar -Dcatalina.base=/usr/tomcat/tomcat6 -Dcatalina.home=/usr/tomcat/tomcat6 -Djava.io.tmpdir=/usr/tomcat/tomcat6/temp org.apache.catalina.startup.Bootstrap start
    

    2. Execute the following command to generate a thread dump

     % kill -3 <pid>
    

    Run this command every 5-10 seconds, 5 times.

    3.The thread dump is written to the standard output.  It may logged in the console or <tomcat>/logs/stdout or <tomcat>/logs/catalina.out.

    4. If you are running JDK 6.0+, you may also use jstack to produce a thread dump.

     % jstack -l <pid> > threaddump.txt
      or
     % jstack <pid> > threaddump.txt
    

    Windows

    Running as a Windows service

    1a. If installed using Tomcat installer, click All Programs ->Apache Tomcat 6.0->Monitor Tomcat. An icon should appear in task bar.
    apachemenu1.png

    1b. If not installed using Tomcat installer, navigate to <tomcat>/bin, and run the following command

     % tomcat7.exe //MS//Tomcat7
    

    apacheicon.png

    The Tomcat monitor icon should appear in the system tray.;

    2. Right click the the icon and select Thread Dump.

    Run this command every 5-10 seconds, 5 times

    3. Look for the thread dump in  <tomcat>/logs/stdout or <tomcat>/logs/catalina.out.

    Running from startup.bat

    1. Open "Windows Task Manager",

    2. Find the process ID of the java process

    3. Make sure <JDK>/bin is in your command path. Otherwise, navigate to <JDK>/bin

    4. Execute the following command to generate a thread dump

     % jstack -l <pid> >  threaddump.txt

    Run this command every 5-10 seconds, 5 times

    If you receive an error running jstack such as the below, then you may need to use psexec:

    7988: Insufficient memory or insufficient privileges to attach
    The -F option can be used when the target process is not responding
     

    1. Download psexec from this website.
    2. Unzip the 'PSTools' directory to a suitable place on your server.
    3. Open a command prompt as Administrator and navigate to the location of the PSTools folder using the command prompt.
     
    2014-09-08_1358.png
     
    4. Open Task Manager > Services and find your Java (Tomcat) service and note down the PID number.
     
    2014-09-09_1239.png

     

     5. At the command prompt type 'psexec -s [jdk path]jstack.exe XXXX >> thread_dump_ddmmyy.log' (where XXXX is your PID and ddmmyy is the current date to append to the name of the log file) then hit enter. 
     
    2014-09-09_1241.png
     

    Run this command every 5-10 seconds, 5 times

    You can also add the full path of your Java 'bin' directory to the server's system path variable. The Java 'bin' directory is usually in 'Program FilesJavainjdk<version>in'.  If you add this path to the system variable then you will need to restart the command prompt again for the change to be picked up and the 'jstack' command to work.

    reference from:
    http://support.jamasoftware.com/entries/20535318-Performing-a-thread-dump-in-Linux-or-Windows
  • 相关阅读:
    Atitit.数据库存储引擎的原理与attilax 总结
    Atitit.数据库存储引擎的原理与attilax 总结
    atitit.guice3 绑定方式打总结生成非单例对象toInstance toProvider区别 v2 pb29
    atitit.guice3 绑定方式打总结生成非单例对象toInstance toProvider区别 v2 pb29
    atitit.项目设计模式---ioc attilax总结v4 q11
    atitit.项目设计模式---ioc attilax总结v4 q11
    Atitit.attilax的 case list 项目经验 案例列表
    Atitit.attilax的 case list 项目经验 案例列表
    Atitit.python web环境的配置 attilax 总结
    Atitit.python web环境的配置 attilax 总结
  • 原文地址:https://www.cnblogs.com/davidwang456/p/4224190.html
Copyright © 2020-2023  润新知