当前位置:首页 > CN2资讯 > 正文内容

Linux 手工释放Linux Cache Memorylinux cache

3天前CN2资讯

手工释放Linux Cache Memory

为了加速操作和减少磁盘I/O,内核通常会尽可能多地缓存内存,这部分内存就是Cache Memory(缓存内存)。根据设计,包含缓存数据的页面可以按需重新用于其他用途(例如,应用程序)。

缓存内存在程序运行结束后不会自动释放。这可能会导致程序频繁读写文件后可用物理内存变得很少,必要时(比如内存确实不够用),需要主动释放缓存内存。

注意:一般情况下,是不推荐主动释放缓存内存的,除非你有非常明确的需求,比如测试程序缓存内存的使用情况,因为对同一应用程序来说,缓存内存是可用的。

释放缓存内容

可以通过修改系统控制文件​​/proc/sys/vm/drop_caches​​释放缓存内存。

1、释放​​pagecache​​(页面缓存)

echo 1 > /proc/sys/vm/drop_caches

2、释放reclaimable slab objects (includes dentries and inodes)(可回收slab对象(包括dentry,inode))

echo 2 > /proc/sys/vm/drop_caches

3、释放​​slab​​​对象和​​pagecache​​

echo 3 > /proc/sys/vm/drop_caches

这是一种非破坏性操作(​​non-destructive operation​​​),不会释放任何脏对象。如果要增加此操作释放的对象数量,可以在写入​​/proc/sys/vm/drop_cache​​​之前运行​​sync​​。这将最大限度地减少系统上脏对象的数量,并创建更多待删除的候选对象。

需要注意的是​​/proc/sys/vm/drop_caches​​ 不是用于控制,各种内核缓存(inodes,dentries,pagecache等等)增长的方法。当系统其它地方需要内存时,Linux内核会自动回收这些对象。

使用该文件可能引发性能问题。因为它会删除缓存对象,可能需要消耗大量的I/O和CPU才能重新创建被删除的对象,尤其是这些对象被大量使用的情况下。因此,不建议在测试或调试环境之外使用。

实践测试

# free -m
total used free shared buff/cache available
Mem: 7794 2373 1478 431 3942 4691
Swap: 3967 0 3967
# echo 1 > /proc/sys/vm/drop_caches
# free -m
total used free shared buff/cache available
Mem: 7794 2373 2600 431 2821 4705
Swap: 3967 0 3967
# echo 2 > /proc/sys/vm/drop_caches
# free -m
total used free shared buff/cache available
Mem: 7794 1635 5527 431 631 5495
Swap: 3967 0 3967
# echo 3 > /proc/sys/vm/drop_caches
# free -m
total used free shared buff/cache available
Mem: 7794 1635 5529 431 630 5496
Swap: 3967 0 3967

参考连接

​​https://www.kernel.org/doc/Documentation/sysctl/vm.txt​​



作者:​​授客​​

全国软件测试QQ交流群:​​7156436​​


    你可能想看:

    扫描二维码推送至手机访问。

    版权声明:本文由皇冠云发布,如需转载请注明出处。

    本文链接:https://www.idchg.com/info/25659.html

    分享给朋友:

    “Linux 手工释放Linux Cache Memorylinux cache” 的相关文章

    ColoCrossing:优质VPS与安全托管服务提供商解析

    在美国,ColoCrossing作为一家老牌且独立的服务器和托管服务提供商,一直以来以其优质的IT解决方案著称。这家成立多年的公司,致力于满足不同类型客户的需求,无论是面向亚太地区还是欧美市场,它都有相应的数据中心来支持各种使用场景。我个人觉得他们的服务理念是非常值得推崇的,特别是在稳定性和可靠性方...

    Rndc2的线路怎么样?全面评测RackNerd洛杉矶DC02机房

    Rndc2的基本线路信息 说到Rndc2的线路,首先让我跟大家分享一下它的基本信息。这个线路的核心在于RackNerd洛杉矶DC02机房,位置恰好在美国西海岸的洛杉矶。成立于2019年的RackNerd,以其价格优势著称,给我们提供了比较便宜的美国VPS选择,最低年付大约10美元,这对于很多希望节省...

    如何选择免费服务器以支持学习与项目开发

    在当今数字化快速发展的时代,免费服务器正变得越来越受欢迎。特别是对初学者、学生和小型企业来说,免费服务器为他们提供了一个难得的机会,让他们可以在没有资金压力的情况下进行项目学习和实践。简单来说,免费服务器就是云服务提供商为了吸引新用户推出的试用服务,通常会在一定时间内提供免费的计算资源和存储空间。...

    阿里云国际:企业数字化转型的理想云服务解决方案

    阿里云国际概述 阿里云国际成立于2015年,致力于为全球用户提供高效、可靠、安全的云计算服务。作为阿里巴巴集团的一部分,阿里云国际不仅承载着国内市场的技术精华,也积极拓展国际市场。随着全球互联网的快速发展,企业对云服务的需求不断增加,阿里云国际顺应这一趋势,凭借创新的技术和丰富的经验,迅速在全球范围...

    狗云:高效便捷的云计算存储与协作服务

    在谈论“狗云”之前,我常常会想起狗狗那种无条件的信任与陪伴。狗云这个词汇的出现,让我联想到一种同样能让我们的工作与生活变得更加顺畅的平台。狗云,确切说是一种云计算服务,专注于为用户提供存储、管理、共享和协作的功能。简单来说,狗云就是一个可以存放和处理各种数据的线上空间。 狗云的背景相当有趣,它并不是...

    ROG主机性能评测与游戏体验分析

    ROG(Republic of Gamers)是华硕旗下专注于游戏硬件及相关产品的品牌。这个名称已经成为游戏玩家心目中的一种象征。ROG致力于为玩家提供顶尖的性能和卓越的用户体验,涵盖了从游戏主机到显示器、耳机等全系列的产品。ROG的产品不仅在技术上不断创新,还在设计上追求独特,吸引了众多游戏爱好者...