jstack命令(Java Stack Trace)
一、javah命令(CHeaderandStubFileGenerator)
二、jps命令(JavaVirtualMachineProcessStatusTool)
四、jstat命令(JavaVirtualMachineStatisticsMonitoringTool)
六、jinfo命令(JavaConfigurationInfo)
七、jconsole命令(JavaMonitoringandManagementConsole)
八、jvisualvm命令(JavaVirtualMachineMonitoring,Troubleshooting,andProfilingTool)
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、命令格式
jstack[option]pid
jstack[option]executablecore
jstack[option][[email protected]]remote-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查询.