监控Cpu空闲率打印Java堆栈信息

如下shell获取占用内存最高的进程id,我们假如服务器上只有java服务,java会内存溢出

#sh
CURRENT_FREE_CPU=90
CURRENT_FREE_CPU=`vmstat 1 3 |sed -n '3,$p' |awk '{x = x + $15} END {print x/3}' |awk -F. '{print $1}'`
echo $CURRENT_FREE_CPU
pid=0
pid=`ps aux | sort -k4nr | head -1 | awk '{print $2}'`
if [ $CURRENT_FREE_CPU -lt 30 ] && [ ! -f "/root/generated" ]  then
echo "" > generated
/usr/bin/jmap -dump:format=b,file=heapDump $pid
fi

crontab 每30秒一次

crontab -e
* * * * * sleep 30; /root/monitorcpu.sh

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值