首页 > 系统相关 >Linux操作系统云主机中buffer和cache占用内存怎么办?

Linux操作系统云主机中buffer和cache占用内存怎么办?

时间:2024-08-12 16:29:33浏览次数:15  
标签:缓存 buffer 占用 cache 内存 Linux

问题描述

系统长期运行后,free命令查看系统内存,发现剩余内存不足,大部分是buffer和cache。

问题分析

在Linux的内存管理中,buffer是Linux内存中的Buffer cache。cache是Linux内存中的Page cache。

  • Buffer cache:主要是当系统对块设备进行读写的时候,对块进行数据缓存的系统来使用,即对块的操作会使用buffer cache进行缓存。
    例如:当对一个文件进行写操作的时候,page cache的内容会被改变,而buffer cache则可以用来将page标记为不同的缓冲区,并记录是哪一个缓冲区被修改了。内核在后续执行脏数据的回写writeback时,就不用将整个page写回,而只需要写回修改的部分即可。

  • Page cache:主要用来作为文件系统上的文件数据的缓存来用,尤其是针对当进程对文件有read/write操作的时候。Linux默认会将读取的文件内容缓存在内存中,方便后续使用。

Linux默认使用的是lazy模式,即内存如果还够用,则不会主动释放当前的占用的buffer和cache,如果需要内存,则会自动释放buffer和cache,所以正常情况下,cache占用高不会对系统造成影响。

处理方法

buffer和cache是Linux对系统设备的正常环境,占用内存并不会影响系统的运行,反而强制清除cache会导致读取磁盘数据时需要重新通过IO从磁盘读取,影响系统运行速度。

如需清理系统buffer和cache,可以执行以下命令:

echo 3 > /proc/sys/vm/drop_caches

根据内存大小可能需要几秒钟,执行完后响应内存被释。

标签:缓存,buffer,占用,cache,内存,Linux
From: https://www.cnblogs.com/even160941/p/18355221

相关文章

  • Linux中套接字可读|可写--SO_RCVLOWAT和SO_SNDLOWAT
    目录SO_RCVLOWAT(接收低水位标记)SO_SNDLOWAT(发送低水位标记)注意事项在GNULinux中,SO_RCVLOWAT和SO_SNDLOWAT是用于设置套接字选项的两个标志,分别用于设置接收和发送低水位标记。这些选项可以帮助应用程序控制网络通信的流量控制。SO_RCVLOWAT(接收低水位标记)......
  • 【Linux学习】CentOS7配置
    1、CentOS设置打开终端快捷键应用程序(Applications)>系统工具(SystemTools)>设置(Settings)>设备(Devices)>Keyboard拉到页面最底下,点击加号添加快捷键设置快捷键名称、命令(/usr/bin/gnome-terminal)以及快捷键,然后点击Add即可2、设置CentOS终端打开的默认字体......
  • 【Linux学习】Ubuntu配置
    1、如何在Ubuntu18.04上面安装VMware-tools实现屏幕适配,以及文件拖拽、复制、粘贴功能先设置以下:此处一定要设置路径保证客户机隔离选项两个勾选将主机桌面文件夹设置为共享 点击VMware顶部菜单,“虚拟机”>“安装VMwareTools”,桌面会出现光盘图标“VMwareTools”......
  • 4.linux系统下目录文件
    1.系统目录和文件目录/文件作用/bin存放用户可执行的二进制文件,通常是系统启动和基本维护所需的命令,如ls、cat等。/boot包含系统引导所需的文件,包括内核文件(vmlinuz)和引导加载程序(如GRUB)。/dev包含与设备相关的文件,Linux将设备映射成文件,这些文件代表系统中的各......
  • Linux命令总结
    linux命令大全常用快捷命令 停止进程:ctrl+c 清屏:ctrl+l或者clear 彻底清屏:reset 提示和补全功能:tab 切换至以前执行过的命令:↑和↓ CentOS切换至命令行界面:ctrl+alt+F2 CentOS切换至图形界面:ctrl+alt+F1Vim快捷操作 跳到末尾:shift+g 跳到开头:g主机......
  • linux反向代理原理:帮助用户更好地优化网络架构
    Linux反向代理原理详解反向代理是一种在网络架构中常用的技术,尤其在Linux环境下被广泛应用。它可以帮助实现负载均衡、安全防护和请求缓存等功能。本文将深入探讨Linux反向代理的原理、工作机制以及其应用场景。1.什么是反向代理反向代理是指代理服务器接收客户端的请求,......
  • Linux C++ 开发3 - 你写的Hello world经过哪些过程才被计算机理解和执行?
    1.C/C++的编译过程1.1.预处理1.2.编译1.3.汇编1.3.1.汇编过程1.3.2.目标文件1.4.链接2.编译过程示例2.1.源代码2.2.逐步编译程序2.2.1.编译指令2.2.2.链接报错问题2.3.单步编译3.gcc/g++与gpp、as、ld的关系3.1.关系图3.2.示例演示......
  • cx_Freeze 打包生成Linux可执行文件
    准备一台linux系统环境安装cx_Freezepipinstallcx_Freeze准备两个py脚本1,app应用脚本,需要打包的app.pyimportrandomimporttimefromflaskimportFlask,jsonifyfromconcurrent.futuresimportThreadPoolExecutorapp=Flask(__name__)executor=ThreadPoolE......
  • Linux Debian 上安装桌面环境
    在Debian上安装桌面环境是一个相对简单的过程。以下是安装几种常见桌面环境的步骤:1.安装GNOME桌面环境更新软件包列表:sudoaptupdate安装GNOME桌面环境:sudoaptinstalltask-gnome-desktop2.安装KDEPlasma桌面环境更新软件包列表:sudoaptupdate......
  • linux下进程与计划任务管理
    linux下进程与定时任务的管理进程与程序程序:存储在硬盘、光盘等介质中含有可执行代码的可执行文件。不删除就永久存在。状态为静态。进程:进程是资源分配的最小单位。临时存储在内存中(关机消失)。动态执行的代码。一个父进程可以拥有多个子进程。若该进程的父进......