温馨提示×

ubuntu缓存如何监控与调试

小樊
43
2025-12-29 21:03:44
栏目: 智能运维

Ubuntu 缓存监控与调试指南

一 内存缓存监控

  • 快速概览:使用free -h查看内存总体,关注available(可用于分配的内存)与buff/cache;使用top/htop定位高内存进程,结合**%MEMRES**(常驻集大小)识别“内存大户”;使用vmstat 1观察si/so(换入/换出)是否频繁;查看**/proc/meminfo获取细粒度指标(如MemAvailable、Buffers、Cached、SReclaimable**);如需历史数据,启用sysstat并使用sar -r查看内存与交换的历史使用。以上工具足以覆盖日常监控与趋势分析。

二 进程级内存与共享内存分析

  • 精准评估:使用smem -k按进程/用户/命令统计内存,并基于PSS(比例共享内存)更真实地反映内存占用,适合多进程共享库场景;配合htop的交互式筛选与排序,快速定位异常进程与增长趋势。

三 磁盘与 APT 缓存监控与清理

  • 监控与清理要点:
    • APT 包缓存:查看缓存目录**/var/cache/apt/archives与索引状态;清理全部包用sudo apt clean**,仅清理旧版本用sudo apt autoclean,移除无用依赖用sudo apt autoremove
    • 日志与系统垃圾:查看日志占用journalctl --disk-usage,按大小或时间回收(如**–vacuum-size=50M**、–vacuum-time=1w);清理缩略图**~/.cache/thumbnails/;浏览器缓存按浏览器设置或清理~/.cache/mozilla/**等目录;旧内核谨慎清理(先确认当前内核再移除旧版本)。
    • 说明:内存中的page cache/buffer用于加速 I/O,通常无需手动释放;仅在特殊调试或空间紧张时临时清理(见下一节)。

四 手动释放内存缓存与内核调优

  • 安全释放步骤:先执行sync确保脏页落盘,再按需写入**/proc/sys/vm/drop_caches**:echo 1 > /proc/sys/vm/drop_caches(仅页缓存)、echo 2 > …(目录项与 inode)、echo 3 > …(全部可回收缓存)。仅在测试或性能对比时使用,避免影响线上业务。
  • 调优方向:通过**/proc/sys/vm/swappiness调整内核换出倾向,默认值通常为60**,可适度降低(如10)以减少换页、提升交互性能;如需持久化,写入**/etc/sysctl.conf并执行sysctl -p**。调整前建议结合vmstat与业务延迟观察影响。

五 常见故障排查清单

  • APT 锁与更新异常:检查锁文件**/var/lib/dpkg/lock**、/var/cache/apt/archives/lock;必要时等待、重启或终止占用进程;排查网络与软件源,必要时更换镜像;仍异常时可清理锁文件后重试。
  • 性能卡顿与抖动:用free确认available充足且buff/cache较高属正常;若si/so持续不为0available长期偏低,结合top/htop定位进程、用smem评估共享内存、用sar -r回溯历史,再决定扩容或优化应用。

0