linux下抓取tomcat相关内存、线程、文件句柄等快照,用于故障排除。

以下脚本推荐放在定时任务里,写好cron表达式,在不影响业务系统的情况下dump一些信息分析系统性能瓶颈以及故障排除。

因为每次dump的时候jvm会暂停(几秒到几十秒不等)。所以在生产系统使用时慎用。因此遭成的任何损失与本博主无关。

 

crontab -e

* 21-8/1 * * * /var/erp/data/dump.sh >> /var/erp/data/dump.log 2>&1 (脚本未经验证)

dump.sh

#!/bin/bash
PID=`ps -ef|grep 'org.apache.catalina.startup.Bootstrap'|grep tomcat|awk '{print $2}'`
CURRENT=$(date +%Y-%m-%d-%H.%M.%S)
STAT_DIR=/var/erp/jvmstat

jmap -dump:format=b,file=$STAT_DIR/mem-dump-$CURRENT.bin $PID
jstack -l $PID > $STAT_DIR/jstack-$CURRENT.txt
#file handlers
ls /proc/$PID/fd |wc -l > $STAT_DIR/file-handler-$CURRENT.txt
lsof -p $PID >> $STAT_DIR/file-handler-$CURRENT.txt
#thread count
ls /proc/$PID/task |wc -l > $STAT_DIR/threads-$CURRENT.txt
#network
netstat -n | awk '/^tcp/ {++state[$NF]} END {for(key in state) print key,"\t",state[key]}' > $STAT_DIR/network-$CURRENT.txt
netstat -t >> $STAT_DIR/network-$CURRENT.txt
#mem
cat /proc/$PID/status > $STAT_DIR/proc-mem-$CURRENT.txt

 

转载于:https://www.cnblogs.com/passedbylove/p/10948930.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值