1.平常会遇到程序卡的时间很久,不知道什么原因,有可能是请求慢,或者是出错了,或者是服务繁忙
一、windows环境下
1.必须有JDK,如果配置了环境变量则可以直接用cmd命令进入DOS窗口,
jps查看现现行的程序,如:1680 emp ,表示emp 运行的进程号,运行程序的时候,
输入jstack 1680 > c ://a.txt ,表示会把这个程序的运行记录打到a.txt文件中,
可以运行多次不同的文件,则会输出多个不同进程的文件记录,最后查看文件日志分析不变的记录是在做什么。
二、linux环境
1.同样必须有JDK,直接解压,可以配置环境变量 export path=$path: /opt/jdk/bin,
2.如果不配置环境变量也可以,解压压缩包 tar -xvf xxx.tar.gz , -x表示解压,-v表示解压的详细过程,-f表示解压的文件
3.直接到jdk下的bin文件下,有很多程序,如:jps ,jstack
4.执行查看进程,ps -ef | grep procname="xxxx"
5.输出日志./jstack 进程号 > 输出路径 /opt/log/a.txt ,一样可以得到运行的日志记录,再进行分析,如果运行不了,可能用户没有权限,需要切 换用户 su - 用户名