linux中抓取java运行性能问题脚本

时间:2022-03-23 13:52:35

在linux系统中部署java应用,有时为了查询java应用的性能或者死锁之类的问题,需要使用jdk中的jstack工具来做,可以写如下脚本进行自动记录
java函数栈信息,分析性能问题。


#!/bin/bash
#weblogicPath=/app/weblogic/bea/user_projects/domains/OAdomain
#jdk的安装目录
javaPath=/jdk1.6.0_27/
#抓取的间隔时间
i=2
#日志存放目录
logPath=/home/weblogic/tmp/log
#jdk的bin目录
binPath=$javaPath/bin
#自动获取java 应用进程号
#pid=`ps -ef|grep java|grep Aserver|awk {'print $2'}`
#手动获取java 应用进程号
pid=3285

#死循环
while [ 1 -eq 1 ]
do
#获取日期时间
v_dt=`date +%Y%m%d%H%M%S`
#记录jstack的信息到log文件中
$binPath/jstack -l $pid >> $logPath/jstack_$pid_$v_dt.log
#显示log文件
echo $logPath/jstack_$pid_$v_dt.log
#休眠对应时间
sleep $i
done