Linux定时任务清理内存缓存

2025-02-04 19:34:41 2点赞 17收藏 0评论

1.问题

linux系统在使用时,部分程序不会释放内存,造成内存一直挂在哪里,当需要使用新程序时,由于内存不足造成故障。

2.解决方法

总体流程就是将内存中的缓存同步到硬盘,并释放。将此命令定时执行就可以自动化的清理内存。

2.1查看内存使用情况

free -h

Linux定时任务清理内存缓存

total:系统内存总大小 used:已使用内存 free:可用内存(剩余多少内存) shared:多个进程共享的内存 buff/cache:系统缓存大小 available:还可以被使用的内存

2.2 手动清理命令

sync; sudo echo 3 | sudo tee /proc/sys/vm/drop_caches

2.3 定时自动清理

# 创建命令文件夹 mkdir -p /home/bin/sh/ && cd /home/bin/sh

# 编辑命令文件 vim cleancache.sh

#!/bin/bash #每3小时清除一次缓存 echo "开始清除缓存" sync;sync;sync #写入硬盘,防止数据丢失 sleep 10 #延迟10秒 echo 3 > /proc/sys/vm/drop_caches

复制上述配置文件内容,shift+ins 粘贴文本后,输入 :wq 退出

更改文件文件授权

chmod +x cleancache.sh

# cleancache命令加入定时任务,每3小时清理一次 echo "0 */3 * * * sh /home/bin/sh/cleancache.sh >/dev/null 2>&1 &" >> /var/spool/cron/root

# 编辑定时任务 crontab -e 0 */3 * * * sh /home/bin/sh/cleancache.sh >/dev/null 2>&1 & # 查看定时任务 crontab -l

2.4 设置定时任务启动以及开机自启

#centos和ubantu systemctl start crond.service # 开启 systemctl restart crond.service # 重启 systemctl enable crond.service # 设置开机启动 systemctl status crond.service # 查看运行状态

# Debian系统 systemctl start cron.service # 开启 systemctl restart cron.service # 重启 systemctl enable cron.service # 设置开机启动 systemctl status cron.service # 查看运行状态


作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起
0评论

当前文章无评论,是时候发表评论了
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
17
扫一下,分享更方便,购买更轻松