jstackforlinux
㈠ linux怎么安装jstack工具
jstack用于打印出给定的java进程ID或core file或远程调试服务的Java堆栈信息。
如果是在64位机器上,需要指定选项"-J-d64",Windows的jstack使用方式只支持以下的这种方式:jstack [-l] pid
如果java程序崩溃生成core文件,jstack工具可以用来获得core文件的java stack和native stack的信息,从而可以轻松地知道java程序是如何崩溃和在程序何处发生问题。
另外,jstack工具还可以附属到正在运行的java程序中,看到当时运行的java程序的java stack和native stack的信息, 如果现在运行的java程序呈现hung的状态,jstack是非常有用的。
l 不同的 JAVA虚机的线程 DUMP的创建方法和文件格式是不一样的,不同的 JVM版本, mp信息也有差别。
l 在实际运行中,往往一次 mp的信息,还不足以确认问题。建议产生三次 mp信息,如果每次 mp都指向同一个问题,我们才确定问题的典型性。
命令格式
$jstack [ option ] pid
$jstack [ option ] executable core
$jstack [ option ] [server-id@]remote-hostname-or-IP
pid: java应用程序的进程号,一般可以通过jps来获得
executable:产生core mp的java可执行程序
core:打印出的core文件
remote-hostname-or-ip:远程debug服务器的名称或IP
server-id: 唯一id,假如一台主机上多个远程debug服务
㈡ Linux里面cpu占用太高排查思路是什么
思路就是top查看是什么进程占用高,一般是应用或者数据库,应用方面可以看看运行吐出日志是否有报错信息,查netstat连接应用端口的会话是不是有异常,数据库进程高,可以使用自带的检查命令后台看是否有执行很久的sql事务,锁等待频繁,报错日志等,找到问题针对性的优化,一步一步解决。
㈢ 在linux系统下,输入jstack pid,出现如下错误,请问如何解决
pid是 process id
也就是进程id
得用进程的ID
㈣ linux中我想用jstack捕获java线程,捕获10次,每隔5秒捕获一次并把捕获的生成文件,然后生成压缩包文件
sh脚本,加上定时任务