百度
360搜索
搜狗搜索

linux缓存命令行详细介绍

在 Linux 中,缓存(Cache)主要包括文件系统缓存(页缓存、目录项缓存等)和内存管理相关的缓存。以下是常用的缓存相关命令行操作:

一、
查看缓存使用情况

  1. 查看内存缓存(包括页缓存、目录项缓存)
    使用 free 命令(显示内存使用统计,包括缓存):
    bash
     

    • buff/cache:已用的缓冲区(Buffers)和缓存(Cache)总和。
    • available:可用内存(包含可回收的缓存)。

    更详细的信息可查看 /proc/meminfo
    bash

       /proc/meminfo

    • PageCache:页缓存(文件数据缓存)。
    • Slab:内核对象缓存(如目录项、索引节点等)。

  2. 查看磁盘 I/O 缓存统计
    使用 vmstat 查看内存和缓存的实时统计:
    bash
        

    • 关注 buffers(缓冲区)和 cache(缓存)列。

二、
清理缓存(需谨慎!)

注意:Linux 会自动管理缓存,手动清理可能影响性能,仅建议在调试或极端场景下使用,且需 root 权限

  1. 同步数据到磁盘(避免数据丢失)
    在清理缓存前,先将内存中的脏数据写入磁盘:
    bash

  2. 清理不同类型的缓存
    通过向 /proc/sys/vm/drop_caches 写入值来释放缓存(需 root):
    bash
       /proc/sys/vm/drop_caches  

    /proc/sys/vm/drop_caches

    /proc/sys/vm/drop_caches

    执行顺序建议:先执行 echo 3 或按 1→2→3 的顺序,确保分步释放。

  3. 释放 slab 缓存(可选)
    如果需要同时释放内核对象缓存(如 Slab),需先禁用 kmemcheck(部分系统),再触发释放:
    bash
       /sys/kernel/mm/ksm/run  

    /proc/sys/vm/drop_caches

    /proc/sys/vm/drop_caches

    /proc/sys/vm/drop_caches

三、
永久配置缓存参数(可选)

如需长期调整缓存行为,可修改 /etc/sysctl.conf(需重启生效):
bash

  /etc/sysctl.conf

添加或修改以下参数:
conf

vm.drop_caches = 0  # 0 表示不自动清理(默认),1/2/3 同上文

vm.vfs_cache_pressure = 100 # 控制内核回收目录项/索引节点缓存的倾向(值越大越积极,默认 100)

vm.swappiness = 60 # 控制内存交换到 Swap 的倾向(值越小越优先使用缓存,默认 60)

修改后生效:
bash

  

四、
注意事项

  1. 自动管理机制:Linux 会根据内存压力自动回收缓存,无需手动清理。
  2. 性能影响:清理缓存会导致后续文件访问重新从磁盘读取,可能降低 I/O 性能。
  3. 风险:错误操作可能导致系统不稳定,建议先备份数据。

总结

  • 查看缓存freevmstat/proc/meminfo
  • 清理缓存:通过 syncdrop_caches(需 root,谨慎使用)。
  • 优化配置:通过 sysctl 调整内核参数(长期生效)。

根据具体需求选择合适的工具,避免盲目清理影响系统性能。

阅读更多 >>>  怎么查看QQ开通的业务

网站数据信息

"linux缓存命令行"浏览人数已经达到21次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:linux缓存命令行的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!