加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

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

发布时间:2020-12-14 00:55:59 所属栏目:Linux 来源:网络整理
导读:以下脚本推荐放在定时任务里,写好cron表达式,在不影响业务系统的情况下dump一些信息分析系统性能瓶颈以及故障排除。 因为每次dump的时候jvm会暂停(几秒到几十秒不等)。所以在生产系统使用时慎用。因此遭成的任何损失与本博主无关。 ? crontab -e * 21-8/

以下脚本推荐放在定时任务里,写好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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读