admin管理员组

文章数量:1624790

文章目录

  • 前言
  • 一、手动清理
    • 1.查询服务器内容占用
    • 2.同步
    • 3.清理
  • 提示
  • 二、自动清理
    • 1.创建自动清理脚本dropcache.sh(注意设置脚本可执行权限)
    • 2.记录自动清理日志dropcache.log
    • 3.设置定时器


前言

随着服务器的运行,内存会被越来越多的缓存占据,这个时候就需要自动释放一些服务起内存缓存了。


一、手动清理

1.查询服务器内容占用

free -g

2.同步

sync

3.清理

cat /proc/sys/vm/drop_caches
echo 3 > /proc/sys/vm/drop_caches

提示

echo 0 是不释放缓存
echo 1 是释放页缓存
ehco 2 是释放dentries和inodes缓存
echo 3 是释放 1 和 2 中说道的的所有缓存


二、自动清理

1.创建自动清理脚本dropcache.sh(注意设置脚本可执行权限)

#!/bin/bash
used=`free -m | awk 'NR==2' | awk '{print $3}'`
free=`free -m | awk 'NR==2' | awk '{print $4}'`
echo "===========================" >> /home/dropcache.log
date >> /home/dropcache.log
echo "Memory usage | [Use:${used}MB][Free:${free}MB]" >> /home/dropcache.log
#如果可用内存小于5.5G则进行清理释放
if [ $free -le 55000 ] ; then
sync && echo 1 > /proc/sys/vm/drop_caches
sync && echo 2 > /proc/sys/vm/drop_caches
sync && echo 3 > /proc/sys/vm/drop_caches
echo "OK" >> /var/spool/cron/delcache.log
else
echo "Not required" >> /home/dropcache.log
fi

2.记录自动清理日志dropcache.log

===========================
Wed Sep 13 17:30:31 CST 2023
Memory usage | [Use:27759MB][Free:306MB]
===========================
Wed Sep 13 17:30:56 CST 2023
Memory usage | [Use:27734MB][Free:4056MB]
===========================
Mon Oct 23 10:00:01 CST 2023
Memory usage | [Use:31160MB][Free:314MB]

3.设置定时器

在命令行中执行(以root用户登录)

crontab -e

会打开一个文件,按字母 i ,进入编辑模式,输入定时任务表达式
#定时执行的脚本,一定要使用绝对路径

0 6 * * * /home/dropcache.sh

保存文件
查看是否创建成功

crontab -l

查看所有用户的crontab任务

cat /etc/passwd | cut -f 1 -d : |xargs -I {} crontab -l -u {}

本文标签: 缓存内存Linux