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

前言

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

图形本尊

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

memory

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

disk

产生的原因

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

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

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

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

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

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

补一个长周期对比图

mem-disk

总结

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AlbertS

常来“玩”啊~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值