首页主机资讯ubuntu缓存类型有哪些区别

ubuntu缓存类型有哪些区别

时间2025-11-28 20:36:03发布访客分类主机资讯浏览1160
导读:Ubuntu缓存类型与区别概览 一 内存中的缓存 Page Cache(页面缓存):内核为文件读写在内存中保留的页,用于加速对普通文件与块设备的访问;对文件的read/write/mmap都会命中页面缓存。 Buffer Cache(缓冲...

Ubuntu缓存类型与区别概览

一 内存中的缓存

  • Page Cache(页面缓存):内核为文件读写在内存中保留的页,用于加速对普通文件与块设备的访问;对文件的read/write/mmap都会命中页面缓存。
  • Buffer Cache(缓冲区缓存):面向块设备的I/O缓冲,更多用于块层/设备层的读写与元数据操作,与Page Cache协同工作。
  • dentries 与 inodes(目录项与索引节点缓存):VFS层的路径解析与文件属性缓存,显著加速目录遍历与stat类操作。
  • 在 free/top 输出中,这些通常汇总为buffers/cached;可用内存的正确估算为:Free(-/+ buffers/cache) = Free + Buffers + Cached。这些缓存会在内存紧张时由内核自动回收,无需人工干预。

二 磁盘上的缓存与临时文件

  • APT 包缓存:位于**/var/cache/apt/archives/**,保存已下载的 .deb 包;可用命令清理:
    • sudo apt-get clean(清空全部包缓存)
    • sudo apt-get autoclean(仅删除过期旧版本)
    • sudo apt-get autoremove(移除不再需要的依赖)
  • systemd 日志(Journal):位于**/var/log/journal/**;查看与清理:
    • 查看占用:journalctl --disk-usage
    • 按时间保留:sudo journalctl --vacuum-time=1w
    • 按大小保留:sudo journalctl --vacuum-size=500M
  • 缩略图缓存:位于用户目录的**~/.cache/thumbnails/**,可删除对应目录以释放空间。
  • 这类缓存位于磁盘,主要作用是加速软件安装、日志轮转与图形资源访问,清理会释放磁盘空间但可能需要重新下载或重建。

三 浏览器与应用层缓存

  • 浏览器缓存:存储网页资源(如 HTML/CSS/JS/图片)的本地副本,位于浏览器配置目录,用于加速页面加载与离线访问;通过浏览器设置即可清理。
  • 与操作系统缓存的区别在于:作用对象(单浏览器 vs 全系统)、存储位置(用户目录 vs 内存/系统目录)、管理方式(浏览器策略与用户手动 vs 内核自动)、影响范围(单个应用 vs 系统整体性能)。

四 关键差异对比

缓存类型 所在位置 主要对象 主要作用 清理方式与影响
Page Cache 内存(RAM) 文件页、块设备页 加速文件/块设备读写 内核自动回收;手动清理会引起额外I/O(见下节)
Buffer Cache 内存(RAM) 块设备I/O缓冲 加速块层读写与元数据操作 同上
dentries/inodes 内存(RAM) 目录项与索引节点 加速路径解析与属性查询 同上
APT 包缓存 磁盘(/var/cache/apt/archives/) .deb 包文件 加速软件安装与升级 apt clean/autoclean;释放磁盘空间,下次安装需重新下载
Journal 日志 磁盘(/var/log/journal/) 系统日志 故障排查与审计 journalctl --vacuum-time/size;释放磁盘空间
缩略图缓存 磁盘(~/.cache/thumbnails/) 图片缩略图 加速文件管理器预览 删除目录;下次访问会重新生成
浏览器缓存 磁盘(浏览器配置目录) 网页资源 加速网页加载 浏览器设置清理;仅影响该浏览器与站点体验

五 查看与清理的正确姿势

  • 查看内存缓存与可用内存:
    • 命令:free -m(关注 buffers/cached-/+ buffers/cache 行)
  • 手动清理内存缓存(仅在必要时,如基准测试、内存紧张排查):
    • 步骤:先执行 sync 将脏页写回磁盘;再写入 /proc/sys/vm/drop_caches
      • echo 1 > /proc/sys/vm/drop_caches(仅清理 Page Cache)
      • echo 2 > /proc/sys/vm/drop_caches(清理 dentries 与 inodes)
      • echo 3 > /proc/sys/vm/drop_caches(清理 Page Cache、dentries 与 inodes)
    • 注意:该操作会释放“干净”缓存,可能带来短时I/O 升高与性能下降,生产环境慎用。
  • 清理磁盘缓存与临时文件:
    • APT:sudo apt-get clean|autoclean|autoremove
    • Journal:sudo journalctl --vacuum-time=1w–vacuum-size=500M
    • 缩略图:rm -rf ~/.cache/thumbnails/*

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: ubuntu缓存类型有哪些区别
本文地址: https://pptw.com/jishu/759401.html
ubuntu缓存与软件兼容性问题 ubuntu缓存与内存管理关联

游客 回复需填写必要信息