首页 > 系统相关 >Linux Buffer/cache清理

Linux Buffer/cache清理

时间:2024-05-17 10:53:47浏览次数:24  
标签:drop Buffer cache vm dirty Linux caches 内存

1、清理Buffer/cache缓存文件

https://blog.csdn.net/u011066470/article/details/125510817

sync
sysctl -w vm.drop_caches=1
sysctl -w vm.drop_caches=2
sysctl -w vm.drop_caches=3

定时脚本清理

#!/bin/bash
Mem=$(free -m | awk 'NR==2' | awk '{print $4}')
if [ $Mem -gt 5120 ];
     then
echo "Service memory capacity is normal!" > /dev/null
     else
##空闲内存小于5G,释放内存的Buffer/cache     
sync
echo "1" > /proc/sys/vm/drop_caches
echo "2" > /proc/sys/vm/drop_caches
echo "3" > /proc/sys/vm/drop_caches
sync
fi

 

 

2、限制Buffer/cache缓存文件使用量

限制Buffer/cache可以使用的内存大小或者大小比例

 

Linux Vm 内核相关参数调优:

https://blog.csdn.net/weixin_45413603/article/details/123311250

Vm 内核调优 默认参数 与 调优参数

vm.admin_reserve_kbytes = 8192   系统为root用户的操作而保留的内存。为了避免系统内存完全用光导致root用户都无法登陆到机器进行trouble shooting,操作系统为root用户保留了一部分内存

 vm.overcommit_memory= 0       0 表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。1 表示内核允许分配所有的物理内存,而不管当前的内存状态如何。2 表示内核允许分配超过所有物理内存和交换空间总和的内存

vm.drop_caches= 0                      0 表示不做任何清理选项, 清理 pagecache:   echo 1 > /proc/sys/vm/drop_caches ,清理 dentries and inodes: echo 2 > /proc/sys/vm/drop_caches 清理 pagecache, dentries and inodes: echo 3 > /proc/sys/vm/drop_caches

vm.zone_reclaim_mode= 0          0 表示意味着关闭zone_reclaim模式,可以从其他zone或NUMA节点回收内存,1 表示打开zone_reclaim模式,这样内存回收只会发生在本地节点内。2 表示在本地回收内存时,可以将cache中的脏数据写回硬盘,以回收内存。

vm.dirty_background_bytes = 0   0  表示不生效,如果设置了8192,  vm.dirty_background_ratio 就不生效。(内存都是不固定的,最好还是走百分比模式)

vm.dirty_background_ratio = 10    表示10%百分比,超过就写硬盘,释放内存cache ,是内存可以填充“脏数据”的百分比,还是通过百分比好控制。这个参数指定了当文件系统缓存脏页数量达到系统内存百分之多少时(如10%)就会触发pdflush/flush/kdmflush等后台回写进程运行,将一定缓存的脏页异步地刷入硬盘;

vm.dirty_bytes = 0                          0  表示不生效,如果设置了8192, vm.dirty_ratio 就不生效。(内存都是不固定的,最好还是走百分比模式)

vm.dirty_ratio = 20                          而这个参数则指定了当文件系统缓存脏页数量达到系统内存百分之多少时(如20%),系统不得不开始处理缓存脏页(因为此时脏页数量已经比较多,为了避免数据丢失需要将一定脏页刷入硬盘);在此过程中很多应用进程可能会因为系统转而处理文件IO而阻塞。

vm.dirty_expire_centisecs = 3000   pdflush是读取1/100秒。缓存页里数据的过期时间(旧数据),指定脏数据能存活的时间。在这里它的值是30秒

vm.dirty_writeback_centisecs = 500  控制内核的脏数据刷新进程pdflush的运行间隔。单位是 1/100 秒。缺省数值是500,也就是 5 秒, 指定多长时间 pdflush/flush/kdmflush 这些进程会起来一次。

vm.dirtytime_expire_seconds = 43200 这个主要是给 lazytime inode 设置的过期时间,比如 inode 只是更新了 atime,这种更新非常频繁的数据就没必要短时间就更新,而且负责刷盘的是另外一个专门的 dirtytime writeback 进程,因此这个的默认时间比较长:12 小时,这个就不建议调整了,作用不大

vm.page-cluster=3

vm.swappiness=30                                 

调优参数

vm.admin_reserve_kbytes =   16384     如果系统内存足够大,可以调整最大值,可以是默认值8192的4倍到8倍

vm.overcommit_memory = 1                 不检查内存状态和是否够用

vm.drop_caches= 0                                不做任何清理选项

vm.zone_reclaim_mode= 2                    云主机就无需开为0,如果是物理机最好是 2

vm.dirty_background_bytes = 0            

vm.dirty_background_ratio = 5 

vm.dirty_bytes = 0

vm.dirty_expire_centisecs = 3000         保持默认值

vm.dirty_ratio = 10 

vm.dirty_writeback_centisecs = 300       如果你的系统是持续地写入动作,那么实际上还是降低这个数值比较好,这样可以把尖峰的写操作削平成多次写操作。

vm.dirtytime_expire_seconds = 43200   保持默认值

vm.page-cluster=3  

vm.swappiness=0                                    针对K8S集群,禁止使用swap空间,只有当系统OOM 才用到

 重新加载

sysctl -p

3、影响

清理时,会短暂让磁盘IO升高

 

标签:drop,Buffer,cache,vm,dirty,Linux,caches,内存
From: https://www.cnblogs.com/xiaoyou2018/p/18197450

相关文章

  • 在Linux中,什么是持续集成/持续部署(CI/CD)?
    持续集成/持续部署(ContinuousIntegration/ContinuousDeployment,简称CI/CD)是一组软件开发实践,旨在通过自动化的流程来频繁地集成和部署代码变更,以提高软件交付的速度和质量。1.持续集成(CI)持续集成是指开发者频繁地将代码变更合并到主分支的实践。每次代码合并都伴随着自动化的......
  • 在Linux中,什么是双因素认证(2FA)?
    双因素认证(Two-FactorAuthentication,简称2FA)是一种安全验证方法,它要求用户提供两种不同的认证因素来证明其身份。这种方法的目的是增加安全性,因为即使攻击者获得了用户的密码,没有第二种认证因素,他们也无法访问账户。1.双因素认证的组成双因素认证通常由以下两种类型的身份验证......
  • 在Linux中,什么是微服务架构?
    微服务架构(MicroservicesArchitecture)是一种软件开发方法,它将一个应用程序构建为一系列小型服务的集合,每个服务实现特定的业务功能,并可以独立部署和扩展。这些服务通常是轻量级的,并且通过定义良好的API进行通信,通常是HTTPRESTfulAPI或轻量的消息传递系统。1.微服务架构的关键......
  • 在Linux中,如何设计和部署容器化应用?
    在Linux中设计和部署容器化应用是一个涉及多个步骤的过程。以下是一个详细的指南,帮助你理解如何在Linux上设计和部署容器化应用:1.理解容器化技术容器化技术允许你将应用程序及其依赖项打包到一个可移植、轻量级的容器中。与虚拟机相比,容器更加轻量级,因为它们共享宿主机的操作系......
  • Linux基础知识(Ubuntu)
    文件权限意义权限类型1.r可读2.w可写3.x可执行/切换陌路4.-无权限通配符*匹配0个或多个字符串?匹配1个字符[abcd]匹配abcd中间任意一个字符[a-Z]匹配a-Z范围里的任意一个字符[!abc]不匹配方括号里的任何一个字符;与[^abc]一致帮助命令man语法man[m......
  • Linux中Cache 和 Buffer 有什么区别?
    Cache和Buffer是两个不同的概念,简单的说,Cache是加速“读”,而buffer是缓冲“写”,前者解决读的问题,保存从磁盘上读出的数据,后者是解决写的问题,保存即将要写入到磁盘上的数据。在很多情况下,这两个名词并没有严格区分,常常把读写混合类型称为buffercache,本文后续的论述中,统一称为cache......
  • Linux 常用命令
    1、查找当前目录下所有以.tar结尾的文件然后移动到指定目录:find.-name“*.tar”-execmv{}./backup/;注解:find–name主要用于查找某个文件名字,-exec、xargs可以用来承接前面的结果,然后将要执行的动作,一般跟find在一起用的很多,find使用我们可以延伸-mtime查找修改时间、-t......
  • 运维必备Linux学习day3(面试常问的linux指令)
    一.问题:列举Linux高级命令,至少6个(百度)netstat//网络状态监控 top//系统运行状态 lsblk //查看硬盘分区findps-aux//查看运行进程chkconfig//查看服务启动状态systemctl//管理系统服务器二.问题:Linux查看内存、io读写、磁盘存储、端口占用、进程查看命令是什么?(......
  • linux常见操作
    现在互联网上常用的操作系统有微软的windows,苹果公司的unix系统以及开源的Linux系统.Linux以他的开源,可扩展性强等优势被广大it从业者所青睐,也是大多数互联网公司部署后端服务器所选择的操作系统.操作系统是一个计算机想要运行不可缺少的一款软件,他在计算机硬件与应......
  • 01-linux核心基础-09文件管理
    文件类型以.开头的文件为隐藏文件NDS配置DNS服务器配置信息1、windows:C:\Windows\System32\drivers\etc\hosts2、linux:/etc/resolv.conf需要记忆变量##1.变量的作用[root@fjh001~]#cathello.shname="隔壁的老张"echo"你好$name"echo"吃了吗$name"ech......