前言

jstack是java自带的一种堆栈跟踪工具。jstack用于打印出给定的java进程ID或core file或远程调试服务的Java堆栈信息。被程序员们常用来找出最耗cpu的线程并定位错误代码。

问题

你在使用jstack命令的时候,有的时候会收到提示 command not found…,告诉你jstack命令是不存在的。于是,你就到处的查找jstackd的安装方法,但都是一无所获。

解决思路

1.如果你在网上寻找jstack的安装方法,网上可能会告诉你,jstack是在JDK中的,OpenJDK是不支持的。于是当你重新使用系统自带的JDK后,发现jstack能用了,就会认为这是真的。但是,实际上在大多数LINUX发行版本里,内置和通过软件源安装的JDK,都是安装的OpenJDK。这个说法是错误的。

2.进入你解压并安装的jdk的文件夹的bin目录下,java常用的命令都在这里,如果是里面没有jstack等文件,说明这个jdk的包是不完整的或版本不对,需要换一个jdk的包就可解决。

3.如果你的jdk的jdk的文件夹的bin目录下,存在jstack。而你执行jstack的命令,提示没有命令。那么,你可以检查的环境变量是否错误。

4.如果你的环境变量没有问题,那么记得读取一下你加入变量的配置文件。(例如:source /etc/profile)

5.到第4步的时候,基本就成功了,执行jstack,即可使用。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐