1、创建 freemem.sh脚本

echo 后的参数可以是 1 2 3,结合 free -m 命令我的问题是由于页缓存导致的所以就选择了1

1  释放Linux系统中的页面缓存

2  释放目录项和inode缓存

3  释放目录项、inode和页面缓存

#! /bin/sh

sync && echo 1 > /proc/sys/vm/drop_caches
exit 1

2、创建task.sh 脚本 并与freemem.sh放置在同级目录,终端执行task.sh脚本

#! /bin/sh
echo "即将给脚本指令赋予可执行权限,可能需要输入密码"
#登录管理员用户
#task.sh所在路径
varCurrentPath=$(cd `dirname $0`; pwd)
varTimerSysPath=/usr/timer
varTimerName=freemem.sh
varTimeProjectParth=$varCurrentPath/$varTimerName
varTimeSysInstallParth=$varTimerSysPath/$varTimerName
#判断安装目录下是否存在定时配置文件
if [ -f "$varTimeProjectParth" ]; then
   echo "定时文件$varTimeProjectParth存在"
else
  echo "定时文件$varTimeProjectParth不存在"
  exit 0;
fi

#-f  判断文件是否存在
if [ -f "$varTimeSysInstallParth" ]; then
   echo "定时文件$varTimeSysInstallParth存在"
else
  echo "定时文件$varTimeSysInstallParth不存在,重新拷贝赋值"
  sudo mkdir $varTimerSysPath
  sudo cp $varTimeProjectParth $varTimeSysInstallParth
  sudo chmod -R 777  $varTimeSysInstallParth
fi

#获取自启动任务
FreeMem=`sudo crontab  -l | awk '{print $NF}' | grep 'freemem.sh'`
#配置启动任务,-z判断文件
if [ -z "$FreeMem" ]; then
    echo "新配置定时任务"
      #设置自启动任务 1分钟执行一次
    (sudo crontab -l;sudo echo "*/1 * * * * /usr/timer/freemem.sh") | sudo crontab -
else
    echo "定时任务已经存在"
fi
exit 0

说明:

此脚本是采用开机自启动任务每一分钟释放一次页缓存内存,你也可以根据自己需求 修改crontab 的定时参数

具体行:(sudo crontab -l;sudo echo "*/1 * * * * /usr/timer/freemem.sh") | sudo crontab -

也可以直接下载资源:

https://download.csdn.net/download/m0_64637403/90230796

Logo

更多推荐