Go检测内存泄漏定时重启

#!/usr/bin/zsh
mem=$(free | grep "Mem:" |awk '{print ($2-$7)/$2}')
targetmem=0.22
echo $mem
if [ $(expr $mem \> $targetmem) -eq 1  ]; then
echo $mem
echo $(ps -ef | grep -E 'rpc_server_go' | grep -v 'grep' | awk '{print $2}')
kill -9 $(ps -ef | grep -E 'rpc_server_go' | grep -v 'grep' | awk '{print $2}')
kill_result=$?
d="`date +%Y-%m-%d,%H:%m:%s`"
echo '内存大于阈值, 开始关闭go服务, 当前时间: '$d ' 执行结果: ' $kill_result
source /etc/profile
nohup /q/rpc_server_go/rpc_server_go  > /q/rpc_server_go/log.$d  &
start_result=$?
$d="`date +%Y-%m-%d,%H:%m:%s`"
echo 'go服务开始启动, 当前时间: ' $d '执行结果: ' $start_result
echo $(ps -ef | grep -E 'rpc_server_go' | grep -v 'grep' | awk '{print $2}')
fi
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容