javayestome 发表于 2013-1-26 14:10:37

jstack命令(Java Stack Trace)

JDK内置工具使用
一、javah命令(CHeaderandStubFileGenerator)
二、jps命令(JavaVirtualMachineProcessStatusTool)
三、jstack命令(JavaStackTrace)
四、jstat命令(JavaVirtualMachineStatisticsMonitoringTool)
五、jmap命令(JavaMemoryMap)
六、jinfo命令(JavaConfigurationInfo)
七、jconsole命令(JavaMonitoringandManagementConsole)
八、jvisualvm命令(JavaVirtualMachineMonitoring,Troubleshooting,andProfilingTool)
九、jhat命令(JavaHeapAnalyseTool)
十、Jdb命令(TheJavaDebugger)
1、介绍

jstack用于打印出给定的java进程ID或corefile或远程调试服务的Java堆栈信息,如果是在64位机器上,需要指定选项"-J-d64",Windows的jstack使用方式只支持以下的这种方式:
jstack[-l]pid
如果java程序崩溃生成core文件,jstack工具可以用来获得core文件的javastack和nativestack的信息,从而可以轻松地知道java程序是如何崩溃和在程序何处发生问题。另外,jstack工具还可以附属到正在运行的java程序中,看到当时运行的java程序的javastack和nativestack的信息,如果现在运行的java程序呈现hung的状态,jstack是非常有用的。
2、命令格式
jstackpid
jstackexecutablecore
jstackremote-hostname-or-IP
3、常用参数说明

1)、options:
executableJavaexecutablefromwhichthecoredumpwasproduced.
(可能是产生coredump的java可执行程序)
core将被打印信息的coredump文件
remote-hostname-or-IP远程debug服务的主机名或ip
server-id唯一id,假如一台主机上多个远程debug服务
2)、基本参数:
-F当’jstack[-l]pid’没有相应的时候强制打印栈信息
-l长列表.打印关于锁的附加信息,例如属于java.util.concurrent的ownablesynchronizers列表.
-m打印java和nativec/c++框架的所有栈信息.
-h|-help打印帮助信息
pid需要被打印配置信息的java进程id,可以用jps查询.
4、使用示例

http://hi.csdn.net/attachment/201105/11/0_13050965714x0y.gif

<!--EndFragment-->
页: [1]
查看完整版本: jstack命令(Java Stack Trace)