#################此脚本在游戏服出现故障时可以打印java进程内堆栈信息#######################
jstack脚本
################此脚本详细的打印出java虚拟机的详细堆栈信息#############################
jmap脚本
jstack脚本
#!/bin/bash
port=3888
time=`date +%Y-%m-%d-%H-%M`
pid=`netstat -tlnp | grep $port | awk '{ print $7}' | sed "s/\/java//g"`
#打印堆栈信息
jstack -l ${pid} > jstack-${pid}-${time}.log
#打印进程占用cpu情况
top -b -n 1 -H -p ${pid} > top-${pid}-${time}.log
port=3888
time=`date +%Y-%m-%d-%H-%M`
pid=`netstat -tlnp | grep $port | awk '{ print $7}' | sed "s/\/java//g"`
#打印堆栈信息
jstack -l ${pid} > jstack-${pid}-${time}.log
#打印进程占用cpu情况
top -b -n 1 -H -p ${pid} > top-${pid}-${time}.log
################此脚本详细的打印出java虚拟机的详细堆栈信息#############################
jmap脚本
#!/bin/bash
#dump进程内存切片
time=`date +%Y-%m-%d-%H-%M`
pid=`netstat -tlnp | grep 3888 | awk '{ print $7}' | sed "s/\/java//g"`
jmap -dump:live,format=b,file=$pid.bin_${time} $pid
#dump进程内存切片
time=`date +%Y-%m-%d-%H-%M`
pid=`netstat -tlnp | grep 3888 | awk '{ print $7}' | sed "s/\/java//g"`
jmap -dump:live,format=b,file=$pid.bin_${time} $pid