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手动自动清理内存缓存 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1728914842a1179529.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论