如何清理 Linux 缓存 ?

和其他操作系统一样,Linux 使用缓存来优化系统性能。随着时间的推移,这些缓存可能会累积起来,尽管 Linux 擅长管理内存,但在某些情况下,手动清除可能是有益的,例如用于系统诊断、应用程序性能测试或其他特定操作。在本文中,我们将深入研究如何清除 Linux 中不同类型的缓存(内存、交换和缓冲区)。

Linux 缓存类型分类

  • PageCache: 通过将经常访问的文件数据保存在 RAM 中来优化文件 I/O。
  • Dentries: 通过缓存目录项来加快文件名查找。
  • Inodes: 存储有关文件和目录的基本元数据,与实际内容或名称分开。
  • SwapSpace: 交换空间在系统 RAM 满时使用。

清理 PageCache, Dentries, Inodes

Linux 内核提供了一种无需重新启动系统即可删除缓存的机制。

  1. Clear PageCache :

    echo 1 > /proc/sys/vm/drop_caches

  2. Clear dentries and inodes :

    echo 2 > /proc/sys/vm/drop_caches

  3. Clear PageCache, dentries, and inodes :

    echo 3 > /proc/sys/vm/drop_caches

注意: 在执行上述命令时,请确保您具有 root 权限。

清理 Swap Space

交换空间在系统 RAM 满时使用,停用所有交换文件和分区,将交换内容移回主内存。

复制代码
swapoff -a

再次打开交换,将激活 /etc/fstab 中列出的所有交换文件和分区。

复制代码
swapon -a

Buffer Cache

如前所述,PageCache 通常与缓冲区缓存同义使用。缓冲缓存是 Linux 用来保存频繁访问的磁盘数据以提高系统性能的内存空间。要清除它,请参阅前面关于清除 PageCache 的部分。

预防措施

(1) 在清除缓存或进行重大更改之前,请始终备份重要数据。

(2) 清除缓存可能导致性能问题,至少是暂时的。Linux 很擅长管理它的缓存,所以除非有特殊的需要,通常最好是让系统自己管理。

(3) 在清除缓存之前和之后,请密切关注系统性能指标,以了解您的操作的影响。

我的开源项目

相关推荐
探索云原生4 小时前
Ascend vNPU 实战:从原生 Docker 到 Ascend Docker Runtime
linux·ai·云原生·kubernetes·gpu
无足鸟ICT4 小时前
【RHCA+】_etc_yum.conf
linux·运维
李纲明4 小时前
WordPress 古腾堡点「更新」报「不是有效的 JSON 响应」:我按 REST 接口一路查下来的顺序
运维·nginx·php·wordpress·rest api
行思理4 小时前
个推厂商应用开通指南
运维·服务器·uni-app·个推·uni-app push
nazisami4 小时前
操作系统基础IO
linux·缓冲区·系统文件io·一切皆文件
龙亘川4 小时前
电子印章系统对接管理业务建模:从需求申请、接口开发到监控运维的全流程闭环
大数据·运维·人工智能·智慧城市·开源软件
zbyyd4 小时前
Linux驱动:UART串口通信、GT9147触摸屏与IIO-ADC驱动开发
linux·驱动开发·arm
研发小能4 小时前
DevOps 国产替代选型指南:从“单点替换“到“一体化平台“
运维·研发效能·devops·嘉为蓝鲸
l1t4 小时前
DeepSeek总结的本地优先的分析不需要数据库服务器
运维·服务器·数据库·人工智能·duckdb
你看我名字5 小时前
LNMP 生产架构与云运维实践:Nginx、PHP-FPM、MySQL 全链路分析
运维·nginx·架构