内存监控
100%

进程利用率 · 第 6 课

内存监控

学习如何解读 vmstat 的内存、分页、进程、I/O 和 CPU 样本。

Linux 会有意使用原本空闲的内存作为缓存,因此 free 值较小本身并不能证明存在内存压力。vmstat 可以帮助你把内存与可运行任务、分页、I/O 和 CPU 活动联系起来。

使用 vmstat 采样

可以每秒收集一个样本:

$ vmstat 1

第一行数据通常报告系统启动以来的平均值,后续各行覆盖每个采样间隔。捕获到具有代表性的时段后,按 Ctrl-C 停止。单位和可用字段会有差异,因此应检查 vmstat --unit 和本机手册。

vmstat 1 的哪些行最适合观察逐秒变化?

进程与内存

常见进程字段包括表示可运行任务的 r,以及表示在不可中断睡眠中阻塞任务的 b。内存字段包括已用交换空间(swpd)、空闲内存(free)、缓冲区(buff)和缓存(cache)。这些都是系统级数值,而不是单个进程的消耗量。

若要更直观地查看当前可用内存,可以与以下输出比较:

$ free -h

available 估算值通常比单独的 free 更有用,因为可回收缓存可以用于满足新的内存分配。

为什么 Linux 上较低的 free 值可能是正常现象?

分页与 I/O

siso 显示换入和换出速率。持续分页若同时伴随延迟和内存回收活动,可能表示存在压力;但交换空间使用量(swpd)非零本身并不能证明当前有问题。bibo 报告块输入与输出速率,并不限于交换流量。

哪项证据更能支持当前存在内存压力的诊断?

CPU 与系统活动

CPU 列通常包括用户(us)、系统(sy)、空闲(id)、I/O 等待(wa)和窃取(st)百分比。系统列包括每秒中断数(in)和上下文切换数(cs)。应依据基线解读尖峰;对于某些工作负载,较高的上下文切换率可能完全正常。

进程字段 r 表示什么?

课程已完成

你已完成 内存监控

现在,你可以把 vmstat 解读为按时间关联的系统视图。

  • 区分初始累计报告和后续间隔样本。

  • 将缓存视为可能可回收的内存。

  • 把分页与内存回收和应用影响相互关联。

  • 综合阅读进程、I/O、系统和 CPU 字段。

保存学习进度

创建免费账户即可保存本课进度,并在任意设备上继续学习。

创建免费账户
下一节
返回 进程利用率