Ubuntu删除大量磁盘文件时,内存cache降free升而创造的漂亮曲线

news2025/1/13 3:09:08

文章目录

  • 前言
  • 图形本尊
  • 产生的原因
  • 总结

前言

最近在做压力测试,对磁盘、CPU、内存等指标比较敏感,因为产生了大量的日志文件需要定期删除,于是写了个定时清理磁盘的脚本,今天早上发现内存曲线居然产生了一个漂亮的图形,不知道你们想到了什么?看到这曲线我首先想到的是《编程之美》中那个“让CPU占用率曲线听你指挥” 的面试题,是不是得加一个想内存使用率曲线听你指挥啊?

图形本尊

我所说的漂亮曲线入下图所示,是不是有一种对称美?

memory

搭配这条曲线的还有当时的磁盘占用曲线,两幅图对比基本可以确定这两个指标是相关的

disk

产生的原因

关于实际的原因我不能给出准确的解释,所以跑去问了GPT,它的回答内容如下,如果有不同意的小伙伴欢迎来反驳:

在Ubuntu或其他Linux操作系统中,当你删除大量磁盘文件时,可能会看到内存缓存(cache)降低而"free"(可用内存)升高的情况。这是由于Linux的内存管理机制导致的,这个机制是为了最大程度地提高系统性能。

当你删除文件时,内核会将这些文件从文件系统中删除,但为了提高文件访问的效率,已经读取的数据可能会被保留在内存的缓存中。这样,如果在不久的将来需要访问相同的文件,可以直接从内存缓存中获取,而不必从磁盘读取。这个缓存被称为"page cache",它占用一部分内存。

当你删除大量文件时,这些文件所占用的内存缓存将被释放,以便更好地利用内存来满足其他正在运行的程序的需求。因此,内存缓存的降低是一个正常现象。

同时,"free"命令在Linux中显示的"free"内存指的是没有被使用的内存,包括未被分配的内存和被内核回收的缓存。因此,当你删除大量文件时,已释放的缓存会被计算在"free"内存中,导致"free"内存升高。

这种行为是Linux内存管理的一部分,它旨在在系统性能和内存使用之间找到平衡。当系统需要更多内存时,它可以释放缓存来满足正在运行的程序的需求。所以,不要担心这种情况,它是Linux操作系统的正常行为。

总结

  • 想要控制好计算机资源产生自定义曲线,控制好“消耗”就可以了,但是如何控制是门学问,需要考虑的各种相关因素
  • 为了提高文件访问的效率,已经读取的数据可能会被保留在内存的缓存中,其被称为"page cache",便于下次访问直接从内存缓存中获取
  • 当删除大量文件时,已释放的缓存会被计算在"free"内存中,导致"free"内存升高
==>> 反爬链接,请勿点击,原地爆炸,概不负责!<<==

风急天高猿啸哀,渚清沙白鸟飞回。无边落木萧萧下,不尽长江滚滚来~

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

递归、搜索与回溯算法

一.递归 &#xff08;1&#xff09;汉诺塔问题 当n2时&#xff0c;要将A中最下面盘子上方的盘子放到B上&#xff0c;最下面盘子放到C上&#xff0c;再将B上的盘子通过A放到C即可&#xff1b; 当n3时&#xff0c;要将A中最下面盘子上方的盘子放到B上&#xff0c;最下面盘子放到…

父进程等待子进程退出 / 僵尸进程孤儿进程

Q&#xff1a;父进程为什么要等待子进程退出&#xff1f; A&#xff1a;回顾创建子进程的目的&#xff0c;就是让子进程去处理一些事情&#xff0c;那么“事情干完了没有”这件事&#xff0c;父进程需要知道并收集子进程的退出状态。子进程的退出状态如果不被收集&#xff0c;…

系统架构设计专业技能 · 系统安全分析与设计(四)【加解密、数字信封、信息摘要、数字签名、数字书证、网络安全、信息安全】

系列文章目录 系统架构设计专业技能 网络规划与设计&#xff08;三&#xff09;【系统架构设计师】 系统架构设计专业技能 系统安全分析与设计&#xff08;四&#xff09;【系统架构设计师】 系统架构设计高级技能 软件架构设计&#xff08;一&#xff09;【系统架构设计师…

SQL 语句解析过程详解

SQL 语句解析过程详解&#xff1a; 1&#xff0e;输入SQL语句 2&#xff0e;词法分析------flex 使用词法分析器&#xff08;由Flex生成&#xff09;将 SQL 语句分解为一个个单词&#xff0c;这些单词被称为“标记“。标记包括关键字、标识符、运算符、分隔符等。 2.1 flex 原…

CCLINK转MODBUS-TCP网关cclink通讯接线图 终端电阻

大家好&#xff0c;今天我们要聊的是生产管理系统中的CCLINK和MODBUS-TCP协议&#xff0c;它们的不同使得数据互通比较困难&#xff0c;但捷米JM-CCLK-TCP网关的出现改变了这一切。 1捷米JM-CCLK-TCP是一款自主研发的CCLINK从站功能的通讯网关&#xff0c;它的主要功能是将各种…

JavaWeb 中对 HTTP 协议的学习

HTTP1 Web概述1.1 Web和JavaWeb的概念1.2 JavaWeb技术栈1.2.1 B/S架构1.2.2 静态资源1.2.3 动态资源1.2.4 数据库1.2.5 HTTP协议1.2.6 Web服务器 1.3 Web核心 2 HTTP2.1 简介2.2 请求数据格式2.2.1 格式介绍2.2.2 实例演示 2.3 响应数据格式2.3.1 格式介绍2.3.2 响应状态码2.3.…

linux中的ifconfig和ip addr

在linux操作系统中ifconfig和ip addr都是显示网卡配置信息的命令&#xff0c;好多人有疑惑它们有什么区别呢 区别1&#xff1a;对于linux发行的版本不一样 ip addr是对新发行版本的linux使用会比较多&#xff1b;而ifconfig是老版本遇到使用的会比较多。 区别2&#xff1a;显…

mysql8和mysql5的安装过程都有!!!超多图超详细保姆级教程最新教程新手小白轻松上手,带你了解清楚你安装过程的每一个术语

目录 前言mysql5和mysql8的区别1.官网下载2.mysql8的安装2.1安装程序打开前2.2Choosing a Setup Type选择安装模式2.3Select Products选择组件2.3.1Select Products的组件解释2.3.2Select Products的组件选择2.3.3电脑操作系统位数查看2.3.4Select Products的组件的内容配置2.3…

锐捷设备密码管理、密码恢复、恢复出厂设置

目录 配置登录用户名密码以及Enable密码 只需要密码登录 需要用户名和密码登录&#xff08;无AAA&#xff09; 需要用户名和密码登录&#xff08;有AAA&#xff09; 密码恢复 Web密码忘记 Telnet/SSH密码忘记 Console密码忘记 所有密码都忘记&#xff0c;通过Console进…

微信小程序在使用vant组件库时构建npm报错

在跟着vant官方进行使用步骤一步步操作时&#xff0c;由于要构建NPM&#xff0c;但NPM包在App配置文件的外部 所以在做下图这一步时&#xff1a; 接着再进行npm构建时会报错 message:发生错误 Error: F:\前端学习\前端框架\小程序\project\demo\miniprogram解决方法 &#xf…

Offset Explorer

Offset Explorer 简介下载安装 简介 Offset Explorer&#xff08;以前称为Kafka Tool&#xff09;是一个用于管理和使Apache Kafka 集群的GUI应用程序。它提供了一个直观的UI&#xff0c;允许人们快速查看Kafka集群中的对象以及存储在集群主题中的消息。它包含面向开发人员和管…

1、深入理解Mysql索引底层数据结构与算法(前置课程)

1.表中数据看似挨在一起&#xff0c;本质写在磁盘里&#xff0c;随着时间和其他程序占用可能分散分布 k为值 v为磁盘空间地址 2.为什么mysql选择B树 假如b树存放2k万数据 一个节点16KB&#xff0c;里面带有data的话存的太少&#xff0c;导致树的高度过高&#xff0c;所以让…

配置:Terminal和oh-my-posh

目录 命令行安装oh-my-posh查看安装情况配置PowerShell启用oh-my-posh、设置主题配色安装字体Terminal中的配置 命令行安装oh-my-posh Set-ExecutionPolicy Bypass -Scope Process -Force; Invoke-Expression ((New-Object System.Net.WebClient).DownloadString(https://ohmy…

Java四大查找(二)插值查找

Java四大查找 一. 插值查找1.1 题目1.2 思路分析&#xff08;图解加文字&#xff09;1.3 代码演示 一. 插值查找 1.1 题目 给定一个有序数组&#xff0c;在有序数组中找到该数字。如果有&#xff0c;则返回该数字的下标&#xff0c;如果没有&#xff0c;则返回-1. 1.2 思路分析…

模拟IIC——关于模拟IIC的IO口的配置选取推挽输出还是开漏输出,以及是否需要更改IO口输入输出模式和是否需要对IO配置上拉

问题如下 当时我以为引脚配错了&#xff0c;原理图明明是B引脚&#xff0c;为何程序是C呢 查了一下资料&#xff0c;顿悟了 https://blog.csdn.net/m0_62243928/article/details/125779308 在使用模拟IIC的时候&#xff0c;观看别人的程序的时候发现了程序之间的一些不一…

RabbitMQ工作流程详解

1 生产者发送消息的流程 (1)生产者连接RabbitMQ&#xff0c;建立TCP连接(Connection)&#xff0c;开启信道(Channel) (2)生产者声明一个Exchange (交换器)&#xff0c;并设置相关属性&#xff0c;比如交换器类型、是否持久化等 (3)生产者声明一个队列井设置相关属性&#xf…

2023国赛数学建模B题思路分析

文章目录 0 赛题思路1 竞赛信息2 竞赛时间3 建模常见问题类型3.1 分类问题3.2 优化问题3.3 预测问题3.4 评价问题 4 建模资料 0 赛题思路 &#xff08;赛题出来以后第一时间在CSDN分享&#xff09; https://blog.csdn.net/dc_sinor?typeblog 1 竞赛信息 全国大学生数学建模…

2023国赛数学建模A题思路分析

文章目录 0 赛题思路1 竞赛信息2 竞赛时间3 建模常见问题类型3.1 分类问题3.2 优化问题3.3 预测问题3.4 评价问题 4 建模资料 0 赛题思路 &#xff08;赛题出来以后第一时间在CSDN分享&#xff09; https://blog.csdn.net/dc_sinor?typeblog 1 竞赛信息 全国大学生数学建模…

安卓:网络框架okhttp

目录 一、okhttp介绍 1. OkHttpClient类&#xff1a; 常用方法&#xff1a; 2. Request类&#xff1a; 常用方法&#xff1a; 3. Response类&#xff1a; 常用方法&#xff1a; 4. Call类&#xff1a; 常用方法&#xff1a; 5. Interceptor接口&#xff1a; 常用方法&…

Web 服务器 -【Tomcat】的简单学习

Tomcat1 简介1.1 什么是Web服务器 2 基本使用2.1 下载2.2 安装2.3 卸载2.4 启动2.5 关闭2.6 配置2.7 部署 3 Maven创建Web项目3.1 Web项目结构3.2 创建Maven Web项目 4 IDEA使用Tomcat4.1 集成本地Tomcat4.2 Tomcat Maven插件 Tomcat 1 简介 1.1 什么是Web服务器 Web服务器是…