首页 > 系统相关 >linux服务器cache占用内存过高导致内存不足

linux服务器cache占用内存过高导致内存不足

时间:2023-06-02 15:57:37浏览次数:47  
标签:缓存 cache 内存不足 内存 linux 磁盘 服务器 数据

问题描述

linux服务器内存不足触发监控报警。

K8S在创建pod之后启动失败,日志报错如下:

 

问题检查

登录服务器发现服务器8G内存正在被使用的和空闲内存大概4G,还有大概4G被cache占用

 

 

 

这个cache占用了大量内存,那么这个cache时干什么用的?

Linux 中的缓存称为Page Cache。它是内核为缓存文件系统磁盘访问而保留的一定数量的系统内存。这是为了使整体性能更快。在 Linux 读取系统调用期间,内核检查缓存是否包含请求的数据块。如果存在,那么将是一次成功的缓存命中。缓存返回此数据而不对磁盘系统执行任何 I/O。

Linux 缓存方法称为回写缓存。首先,数据被写入缓存并标记,直到同步到磁盘。然后,内核维护内部数据结构,优化在缓存是指其它服务需要使用内存时从缓存中驱逐哪些数据来达到释放缓存。例如,当内存使用量达到某个阈值时,后台任务开始将脏数据写入磁盘,从而清空内存缓存。

在广义上,缓冲区是用于在从一个地方移动到另一个地方时临时存储数据的内存区域。缓冲区是存储在页面缓存下的数据的磁盘块表示。此外,缓冲区包含位于页面缓存下的文件或数据的元数据。

另一方面,缓存是一个临时存储区域,用于存储经常访问的数据以供快速访问。

 

既然知道了cache的作用,那么怎么释放它?

1.直接手动释放

#缓存落盘
sync
#释放pagecache echo 1 > /proc/sys/vm/drop_caches #释放dentries和inode echo 2 > /proc/sys/vm/drop_caches #释放pagecache、dentries和inode echo 3 > /proc/sys/vm/drop_caches

 

2.自动释放

 

标签:缓存,cache,内存不足,内存,linux,磁盘,服务器,数据
From: https://www.cnblogs.com/jingzhe2020/p/15936088.html

相关文章

  • Linux系统下提升进程优先级的办法
    与别人共用工作站或者集群进行大型运算,比较愁人,老是与别人分享资源,太蛋疼,所以找了个小妙招,可以试用一下。 Linux系统进程的优先级取值:-20到19,数越大优先级越低。 可以通过top命令来查看,NI那一列。 改变进程的优先级的方法有两种: www.2cto.com 1,top命令。输入r,然后......
  • Linux基础(七)
    推荐步骤:在Centos01主机上添加Linux磁盘,指定磁盘空间大小30G,创建三个三个分区,将三个分区转换为LVM逻辑卷将三个分区添加到物理卷,创建卷组名字hb3051将三个物理卷添加到卷组,指定逻辑卷名字为自己名字全屏,指定逻辑卷磁盘空间为20G,格式化LVM为xfs文件系统创建目录/lvm,修改/etc/fstab文......
  • Linux(八)
    推荐步骤:Centos01添加一块40G磁盘,创建分区,创建分区挂载目录/benet,设置开机自动挂载Centos01的sda磁盘的前512字节备份到/benet/name.mbr.bak,模拟MBR程序故障进入到急救模式恢复备份的mbr程序,将grub引导菜单备份到/benet目录模拟Centos01密码遗忘进入急救模式修改root密码远程登录远......
  • Linux(九)
    推荐步骤:进程管理,使用yum安装Apache服务,使用命令启动Apache服务,查看Apache服务运行状态获取Apache的父进程和子进程信息至少通过两种方式查看父子进程信息,使用kill命令杀死进程确认进程被杀死使用命名启动Apache服务,查看服务运行状态使用killall命令通过服务名字杀死进程使用vim命......
  • Qemu仿真----(12)运行Void Linux Rootfs
    平台:ubuntu-22.04-desktop-amd64.对象:voidlinuxrootfs、qemu.文件:linux-6.1.26.tar.xz、void-aarch64-ROOTFS-20221001.tar.xz.本例通过qemu运行voidlinuxrootfsforarm64。1.安装依赖$sudoaptinstallqemu-user-staticqemu-system-aarch64gcc-aarch64-linux-gnu......
  • Linux(十)
    推荐步骤:锁定密码和账户信息配置文件查看文件锁定状态和解锁账户密码文件设置当前用户注销清空历史命令,设置当前用户登录系统2分钟不操作自动注销,创建自己名字用户设置密码,设置自己名字用户10天后到期使用su命令从管理员root切换到自己名字用户,从自己名字用户切换到root用户携带用......
  • linux运行jar包、查看jar包进程、停止jar包
    后台运行:nohupjava-jarruoyi-admin.jar>msg.log2>&1&停止:ps-ef|grepXXX.jarkillXXXXXX 1、后台运行jar包程序,输入:nohupjava-jar/路径/程序.jar&2、后台终止jar包程序,输入:ps-ef|grepjava,查看使用java命令的进程,再输入:killpid 即可终止运行------------......
  • 在linux上安装julia和Perple_X
    在linux上安装julia用julia可以在linux上自动安装并运行Perple_X软件,所以本文首先安装julia然后安装并使用Perple_X在ubuntu上安装julia如果使用apt-get安装的版本很低,无法更新。所以推荐从源码安装,首先下载1.8版本的源代码在/opt目录中:cd/optmkdirjuliacdjuliawgethtt......
  • Linux 操作系统上部署 ClamAV病毒查杀软件
    0.序言因为公司业务合作,对方需要我方提交审查资料,其中需要包含Linux主机的病毒扫描情况,特记录一次ClamAV的部署与使用1.clamav介绍ClamAV是一个开源的引擎,用于检测病毒、木马、恶意软件和其他威胁。ClamAV支持Windows、Linux和MacOS等系统,ClamAV社区提供了免费的持续的病毒......
  • 终端通过密钥方式登录 Linux
    一、密钥对生成注意:本地主机和目的主机需ping通1)确认服务器是否安装有ssh以及openssh服务端[zyy@kube-master~]$rpm-qa|grepopensshopenssh-6.6.1p1-25.el7_2.x86_64openssh-clients-6.6.1p1-25.el7_2.x86_64openssh-server-6.6.1p1-25.el7_2.x86_64[zyy@kube-mas......