Ubuntu系统自动清理系统内存脚本和使用方法

在使用Ubuntu系统时会出现内存占用太多,系统卡顿现象,有一种shell脚本可以自动清理系统内存,使用方法如下:

1. 新建脚本文件

 如 /home/hulk/tools/SysTools/memory-monitor.sh

#!/bin/bash

# while [[ true ]]; do
	COMPILE_TIME=`date +"%Y%m%d_%H%M"`
	echo "$COMPILE_TIME"
	echo "$COMPILE_TIME">>/tmp/memory_sunquanyu
	#获取空闲内存,单位MB
	memfree=$(free -m | awk '{print $4}' | sed -n 2p)
	echo "$memfree">>/tmp/memory_sunquanyu
	#内存剩余告警阀值,根据实际情况配置
	max=4096
	# 如果未分配内存值小于等于 max

	if [[ ${memfree} -le ${max} ]]; then
		echo "ttttttt">>/tmp/memory_sunquanyu
	    stress -t 5 --vm 10 --vm-bytes 1024M;
		sleep 1
		# sync;
	else
	 	echo "$COMPILE_TIME"" enough memory to use.">/tmp/memory_sunquanyu
	fi
# 	sleep 300;
# done

脚本中用到了 stress 工具命令,如果没有安装,请执行如下命令安装:

sudo apt install stress

2. 设置自动运行

间隔多久执行编辑脚本

执行如下命令, -e是编辑的意思

sudo crontab -e

第一次执行会弹出编辑工具选择,一般选择2 (VIM编辑工具),回车,在最下面增加一行:

*/10 * * * * /home/hulk/tools/SysTools/memory-monitor.sh  表示每间隔10分钟执行一次这个系统清理脚本。注意加班呢目录改成你放sh脚本的目录。

3. 测试脚本

可以手动测试下脚本是否可以执行, 适当修改脚本阀值,执行脚本: ./memory-monitor.sh。

hulk@hulk-ThinkCentre-M710t-N000:~/tools/SysTools$ ./memory-monitor.sh 
20230906_1028
hulk@hulk-ThinkCentre-M710t-N000:~/tools/SysTools$ 

脚本下载地址: https://download.youkuaiyun.com/download/zhanghao_Hulk/88305259

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值