目 录CONTENT

文章目录

Linux定时任务清理内存缓存

焱
2025-01-28 / 0 评论 / 0 点赞 / 5 阅读 / 0 字
温馨提示:
本文最后更新于2025-01-28,若内容或图片失效,请留言反馈。 部分素材来自网络,若有影响到您的利益,请联系我们删除。

1.问题

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

2.解决方法

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

2.1查看内存使用情况

free -h

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
```bash
# 编辑命令文件
vim cleancache.sh
```bash
#!/bin/bash
#每3小时清除一次缓存
echo "开始清除缓存"
sync;sync;sync #写入硬盘,防止数据丢失
sleep 10 #延迟10秒
echo 3 > /proc/sys/vm/drop_caches

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

更改文件文件授权

chmod +x  cleancache.sh
```bash
# cleancache命令加入定时任务,每3小时清理一次 
echo "0 */3 * * * sh /home/bin/sh/cleancache.sh >/dev/null 2>&1 &" >> /var/spool/cron/root
```bash
# 编辑定时任务
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  # 查看运行状态
```bash
# Debian系统
systemctl start cron.service   # 开启

systemctl restart cron.service # 重启

systemctl enable cron.service  # 设置开机启动

systemctl status cron.service  # 查看运行状态
0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区