ubuntu缓存类型有哪些区别
导读: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 升高与性能下降,生产环境慎用。
- 步骤:先执行 sync 将脏页写回磁盘;再写入 /proc/sys/vm/drop_caches:
- 清理磁盘缓存与临时文件:
- 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
