linux 自动定时清理缓存

文章目录

    • 1,查看内存占用情况:
      • 1.1、free和available的区别?
      • 1.2、交换分区的作用?
    • 2,手动清理命令
    • 3,定时自动清理
      • 3.1,创建文件夹
      • 3.2,新建文件cleanBuffer.sh
      • 3.3,添加内容
      • 3.4,脚本文件授权
      • 3.5,添加定时任务
      • 3.6,插入内容
      • 3.7,查看定时任务
      • 3.8,设置启动以及开机自启

在使用linux系统时,总会发现buff/cache过高,不清理的话一直挂在那,因此写了一个定时清理程序

1,查看内存占用情况:

free -h

在这里插入图片描述
6个字段列的意思分别是:

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

左侧两个字段行的意思分别是:

  • Mem:物理内存空间使用情况,通常意义上的物理内存分区
  • Swap:交换空间使用情况(交换分区),物理内存不够用时,临时存放数据。

1.1、free和available的区别?

free 和 available 这两个字段都有“剩余内存”的意思,很多同学可能会对此产生疑惑,这里给大家简单解释一下这两个字段的区别:

free是未被使用的内存
available是程序“认为”还可以被使用的内存
Linux为了提高读写性能,会拿出一部分内存来临时存储数据(也就是系统缓存缓存),当剩余的内存(free)不够的时候,就会释放一部分缓存(buff/cache)来满足程序的使用需求。

即:available = free + buff/chche(部分可以被释放的缓存)

1.2、交换分区的作用?

free 命令有 Mem 和 Swap 两行查询结果,其中 Swap 就是交换分区的意思。

交换分区也叫交换空间(Swap space),本质上是磁盘上的一个区域,可以是一个分区,也可以是一个文件。

当系统的物理内存不够用时,就会把一部分不常用的数据临时放到交换分区(Swap),等到程序要使用这些数据时,再把它们从交换分区加载到物理内存中。

这就意味着,系统总是在内存不够用的情况下,才会使用交换分区。

如果交换分区没被使用或者使用的很少,内存够用(使用情况良好);反之,就说明内存不够用了,可能会影响到系统的使用。

交换分区可以在一定程度上解决内存不足的问题,但它会读取磁盘的数据,所以读写速度不快,因此,只有在内存不够用时,才会选择把数据放到交换分区。

那么,系统什么时候才会把物理内存的数据放到交换分区呢?

/etc/sysctl.conf 文件中有一个 swappiness 参数,用来控制交换数据的优先级,它的取值范围是0~100,0表示尽可能不把数据放到交换分区;100表示尽可能多的把数据放到交换分区。我们可以通过修改 swappiness 参数的值,来改变系统把内存的数据放到交换分区的迫切程度。

2,手动清理命令

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

3,定时自动清理

3.1,创建文件夹

mkdir -p /home/bin/sh/
cd /home/bin/sh

在这里插入图片描述

3.2,新建文件cleanBuffer.sh

vim cleanBuffer.sh

3.3,添加内容

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

在这里插入图片描述

3.4,脚本文件授权

chmod +x cleanBuffer.sh

在这里插入图片描述

3.5,添加定时任务

crontab -e

3.6,插入内容

0 2 * * * /home/bin/sh/cleanBuffer.sh > /dev/null 2>&1 &
##每天凌晨2点清理一次

这里配置的是每天凌晨2点清理一次
注意:这里 /home/bin/sh/cleanBuffer.sh 文件是我们刚刚建立的清理文件
另外,这里的表达式长度是5位,不是6位,注意了,不然会报错的

3.7,查看定时任务

crontab -l

在这里插入图片描述

3.8,设置启动以及开机自启

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

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/381506.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Transformer的PyTorch实现之若干问题探讨(二)

在《Transformer的PyTorch实现之若干问题探讨(一)》中探讨了Transformer的训练整体流程,本文进一步探讨Transformer训练过程中teacher forcing的实现原理。 1.Transformer中decoder的流程 在论文《Attention is all you need》中&#xff0…

统一数据格式返回,统一异常处理

目录 1.统一数据格式返回 2.统一异常处理 3.接口返回String类型问题 1.统一数据格式返回 添加ControllerAdvice注解实现ResponseBodyAdvice接口重写supports方法,beforeBodyWrite方法 /*** 统一数据格式返回的保底类 对于一些非对象的数据的再统一 即非对象的封…

【资料分享】基于单片机大气压监测报警系统电路方案设计、基于飞思卡尔的无人坚守点滴监控自动控制系统设计(程序,原理图,pcb,文档)

基于单片机大气压监测报警系统电路方案设计 功能:实现的是大气压检测报警系统,可以通过传感器实时检测当前大气压值,可以设定大气压正常范围,当超过设定范围进行报警提示。 资料:protues仿真,程序&#x…

计算机二级C语言备考学习记录

一、C语言程序的结构 1.程序的构成,main函数和其他函数。 程序是由main函数和其他函数构成main作为主函数,一个C程序里只有一个main函数其他函数可以分为系统函数和用户函数,系统函数为编译系统提供,用户函数由用户自行编写 2.…

[职场] 抖音运营SOP全攻略 #微信#职场发展

抖音运营SOP全攻略 1.养号的步骤 注册一机—卡一号,在注册的前5天只看视频不发视频,单日观看视频的时长不少于30分钟。观看过程中正常评论点赞互动,关注5-10个头部大号。关注20个二三十万至百万的竟品账号。 粉丝量低于1W的账号下不要留下…

Compose之Slider全面解析

JetPack Compose系列(14)—Slider Slider,即拖动条,默认包含了一个滑块和一个滑动轨道。允许用户在一个数值范围内进行选择。 按照惯例,先观察其构造函数: Composable fun Slider(value: Float,onValueCh…

Debezium发布历史120

原文地址: https://debezium.io/blog/2022/04/07/read-only-incremental-snapshots/ 欢迎关注留言,我是收集整理小能手,工具翻译,仅供参考,笔芯笔芯. Read-only Incremental Snapshots for MySQL April 7, 2022 by K…

【Python中Selenium元素定位的各种方法】

1、元素定位操作: 2、创建浏览器驱动操作,导入By模块: from selenium import webdriver # 用于界面与浏览器互动 from selenium.webdriver.common.by import By # 用于元素定位 driver webdriver.Chrome() # 调用Chrome类,创…

C++ 贪心 区间问题 区间选点

给定 N 个闭区间 [ai,bi] ,请你在数轴上选择尽量少的点,使得每个区间内至少包含一个选出的点。 输出选择的点的最小数量。 位于区间端点上的点也算作区间内。 输入格式 第一行包含整数 N ,表示区间数。 接下来 N 行,每行包含两…

.NET高级面试指南专题六【线程安全】5种方法解决线程安全问题

前言 多线程编程相对于单线程会出现一个特有的问题,就是线程安全的问题。所谓的线程安全,就是如果你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码。如果每次运行结果和单线程运行的结果是一样的,而且…

探索未来:集成存储器计算(IMC)与深度神经网络(DNN)的机遇与挑战

开篇部分:人工智能、深度神经网络与内存计算的交汇 在当今数字化时代,人工智能(AI)已经成为科技领域的一股强大力量,而深度神经网络(DNN)则是AI的核心引擎之一。DNN是一种模仿人类神经系统运作…

视觉开发板—K210自学笔记(二)

视觉开发板—K210 一、开发之前的准备 工欲善其事必先利其器。各位同学先下载下面的手册: 1.Sipeed-Maix-Bit 资料下载:https://dl.sipeed.com/shareURL/MAIX/HDK/Sipeed-Maix-Bit/Maix-Bit_V2.0_with_MEMS_microphone 2.Sipeed-Maix-Bit 规格书下载&…

解决dockor安装nginx提示missing signature key的问题

问题描述 使用dockor安装nginx拉取nginx的时候提示key丢失问题 问题定位 由于dockor版本低导致 问题解决 卸载重新安装最新版本dockor 解决步骤 1. 卸载旧版本的Docker: sudo yum remove docker docker-common docker-selinux docker-engine 2. 安装依赖包&am…

C++入门学习(二十六)for循环

for (初始化; 条件; 递增/递减) { // 代码块 } 打印1~10&#xff1a; #include <iostream> using namespace std; int main() { for (int i 1; i < 10; i) { cout <<i<<endl; } return 0; } 打印九九乘法表&#xff1a; #include <iostream…

Git版本与分支

目录 一、Git 二、配置SSH 1.什么是SSH Key 2.配置SSH Key 三、分支 1.为什么要使用分支 2.四个环境及特点 3.实践操作 1.创建分支 2.查看分支 3.切换分支 4.合并分支 5.删除分支 6.重命名分支 7.推送远程分支 8.拉取远程分支 9.克隆指定分支 四、版本 1.什…

春晚刘谦魔术——约瑟夫环

昨晚&#xff0c;刘谦在春晚上表演了一个魔术&#xff0c;通过对四张撕成两半的纸牌连续操作&#xff0c;最终实现了纸牌的配对。 这个魔术虽然原理不是很难&#xff0c;但是通过刘谦精湛的表演还是让这个魔术产生了不错的效果&#xff08;虽然我感觉小尼的效果更不错&#xff…

【北邮鲁鹏老师计算机视觉课程笔记】02 filter

1 图像的类型 二进制图像&#xff1a; 灰度图像&#xff1a; 彩色图像&#xff1a; 2 任务&#xff1a;图像去噪 噪声点让我们看得难受是因为噪声点与周边像素差别很大 3 均值 滤波核 卷积核 4 卷积操作 对应相乘再累加起来 卷积核记录了权值&#xff0c;把权值套到要卷积…

2023年总结

人们总说时间会改变一切&#xff0c;但事实上你得自己来。 今年开始给自己的时间读书、工作、生活都加上一个2.0的release版本号&#xff0c;相比过去的一年还是有很多进步的。 就跟git commit一样&#xff0c;一步一步提交优化&#xff0c;年底了发个版本。用李笑来的话说&am…

【洛谷题解】P1075 [NOIP2012 普及组] 质因数分解

题目链接&#xff1a;[NOIP2012 普及组] 质因数分解 - 洛谷 题目难度&#xff1a;入门 涉及知识点&#xff1a;枚举&#xff08;优化&#xff09; 题意&#xff1a; 输入样例&#xff1a;21 输出样例&#xff1a;7 分析&#xff1a;枚举到小因数&#xff0c;再除a&#x…

何时以及如何选择制动电阻

制动电阻的选择是优化变频器应用的关键因素 制动电阻器在变频器中是如何工作的&#xff1f; 制动电阻器在 VFD 应用中的工作原理是将电机减速到驱动器设定的精确速度。它们对于电机的快速减速特别有用。制动电阻还可以将任何多余的能量馈入 VFD&#xff0c;以提升直流母线上的…