linux内存检测超过一定内存后重启

描述:

最近遇到使用一个第三方python库,按照第三方库文档的方法释放内存也释放不了,不断消耗内存,最终导致内存溢出,这属于内存无法释放、内存泄露的bug。联系了该库的开发人员说这个问题不好解决,最终只能自己想办法,于是就想到了编写linux脚本定时执行内存检测超出一定内存后系统重启的方法,python项目配置了开机自启

 1.编写脚本

使用脚本结合free命令实现(以内存使用率超过 80% 为例)

 1.1创建脚本

切换到要保存的路径下:例如我这里路径: cd /usr/projects/sh_scirpt/ 

创建一个名为check_memory_and_restart.sh的脚本

vi check_memory_and_restart.sh

1.2脚本内容 

复制以下代码到sh脚本,可以根据情况修改百分比

#!/bin/bash
# 获取内存使用率
memory_usage=$(free | awk 'NR==2{printf "%.2f", ($3/$2)*100}')
# 判断内存使用率是否超过80%
if [ $(echo "$memory_usage > 80.00" | bc) -eq 1 ]; then
    reboot
fi

:wq 保存并退出

2.给脚本添加执行权限 

chmod +x check_memory_and_restart.sh

3.cron任务中定期执行

使用crontab -e命令编辑cron任务

crontab -e

使用crontab -e后添加一行

*/5 * * * * /usr/projects/sh_scirpt/check_memory_and_restart.sh

每 5 分钟检查一次内存超过80%就重启系统 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值