线上机器jvm dump分析脚本
来源:互联网 发布:济南美食 知乎 编辑:程序博客网 时间:2024/06/05 22:58
#!/bin/shDUMP_PIDS=`ps --no-heading -C java -f --width 1000 |awk '{print $2}'`if [ -z "$DUMP_PIDS" ]; then echo "The server $HOST_NAME is not started!" exit 1;fiDUMP_ROOT=~/dumpif [ ! -d $DUMP_ROOT ]; thenmkdir $DUMP_ROOTfiDUMP_DATE=`date +%Y%m%d%H%M%S`DUMP_DIR=$DUMP_ROOT/dump-$DUMP_DATEif [ ! -d $DUMP_DIR ]; thenmkdir $DUMP_DIRfifor PID in $DUMP_PIDS ; do#Full thread dump 用来查线程占用,死锁等问题$JAVA_HOME/bin/jstack $PID > $DUMP_DIR/jstack-$PID.dump 2>&1echo -e ".\c"#打印出一个给定的Java进程、Java core文件或远程Debug服务器的Java配置信息,具体包括Java系统属性和JVM命令行参数。$JAVA_HOME/bin/jinfo $PID > $DUMP_DIR/jinfo-$PID.dump 2>&1echo -e ".\c"#jstat能够动态打印jvm(Java Virtual Machine Statistics Monitoring Tool)的相关统计信息。如young gc执行的次数、full gc执行的次数,各个内存分区的空间大小和可使用量等信息。$JAVA_HOME/bin/jstat -gcutil $PID > $DUMP_DIR/jstat-gcutil-$PID.dump 2>&1echo -e ".\c"$JAVA_HOME/bin/jstat -gccapacity $PID > $DUMP_DIR/jstat-gccapacity-$PID.dump 2>&1echo -e ".\c"#未指定选项时,jmap打印共享对象的映射。对每个目标VM加载的共享对象,其起始地址、映射大小及共享对象文件的完整路径将被打印出来,$JAVA_HOME/bin/jmap $PID > $DUMP_DIR/jmap-$PID.dump 2>&1echo -e ".\c"#-heap打印堆情况的概要信息,包括堆配置,各堆空间的容量、已使用和空闲情况$JAVA_HOME/bin/jmap -heap $PID > $DUMP_DIR/jmap-heap-$PID.dump 2>&1echo -e ".\c"#-dump将jvm的堆中内存信息输出到一个文件中,然后可以通过eclipse memory analyzer进行分析#注意:这个jmap使用的时候jvm是处在假死状态的,只能在服务瘫痪的时候为了解决问题来使用,否则会造成服务中断。 $JAVA_HOME/bin/jmap -dump:format=b,file=$DUMP_DIR/jmap-dump-$PID.dump $PID 2>&1echo -e ".\c"#显示被进程打开的文件信息if [ -r /usr/sbin/lsof ]; then/usr/sbin/lsof -p $PID > $DUMP_DIR/lsof-$PID.dumpecho -e ".\c"fidone#主要负责收集、汇报与存储系统运行信息的。if [ -r /usr/bin/sar ]; then/usr/bin/sar > $DUMP_DIR/sar.dumpecho -e ".\c"fi#主要负责收集、汇报与存储系统运行信息的。if [ -r /usr/bin/uptime ]; then/usr/bin/uptime > $DUMP_DIR/uptime.dumpecho -e ".\c"fi#内存查看if [ -r /usr/bin/free ]; then/usr/bin/free -t > $DUMP_DIR/free.dumpecho -e ".\c"fi#可以得到关于进程、内存、内存分页、堵塞IO、traps及CPU活动的信息。if [ -r /usr/bin/vmstat ]; then/usr/bin/vmstat > $DUMP_DIR/vmstat.dumpecho -e ".\c"fi#报告与CPU相关的一些统计信息if [ -r /usr/bin/mpstat ]; then/usr/bin/mpstat > $DUMP_DIR/mpstat.dumpecho -e ".\c"fi#报告与IO相关的一些统计信息if [ -r /usr/bin/iostat ]; then/usr/bin/iostat > $DUMP_DIR/iostat.dumpecho -e ".\c"fi#报告与网络相关的一些统计信息if [ -r /bin/netstat ]; then/bin/netstat > $DUMP_DIR/netstat.dumpecho -e ".\c"fiecho "OK!"
github地址:https://github.com/zhwj184/shell-work
- 线上机器jvm dump分析脚本
- jvm dump脚本
- 线上机器JVM参数配置
- 如何分析jvm dump线程
- jvm系列五:使用JMAP dump及分析dump文件
- 如何分析jvm dump 内存日志
- 使用jmap dump 分析JVM内存状态
- 基于线上环境的jvm堆栈分析,jmap+MAT
- 技能库--线上jvm内存对象分析(137)
- 分析IBM JVM上的heap dump文件a.phd
- JVM线上问题排查
- dump分析
- dump分析
- JVM飙高排查脚本-结构分析
- JVM飙高排查脚本-结构分析
- JVM飙高排查脚本-结构分析
- JVM飙高排查脚本-结构分析
- dump JVM 内存
- Linux查看CPU和内存使用情况
- Android 退出整个程序代码
- 趋势
- Java去除字符串中的空格、换行等转义字符
- POJ 1386(欧拉路)
- 线上机器jvm dump分析脚本
- 对别人有帮助的文章
- Informatica抽取SAP数据
- mysql 海量数据的存储和访问解决方案
- win8应用商店程序 添加背景图片
- 第八周项目一
- 第八周上机任务(友元函数运算符的重载)
- java java.util.ConcurrentModificationException 原因
- const