监控虚拟内存
2022/7/14原创大约 2 分钟约 585 字
相关信息
vmstat
是一个在 Linux 系统中用于监控虚拟内存(Virtual Memory)和 CPU 活动的命令行工具。它提供了关于系统内存使用、CPU 利用率、进程状态、I/O 活动等方面的实时信息。以下是
vmstat
命令的基本用法和一些关键指标的解释:
1. 基础用法
vmstat [选项] [延迟时间] [次数]
- 选项:可以指定不同的选项来改变输出的格式或内容。例如,-a 显示活跃和非活跃内存,-f 显示从系统启动以来的 fork 数量等。
- 延迟时间:指定两次输出之间的时间间隔,单位为秒。
- 次数:指定输出的次数。如果不指定次数,vmstat 将持续输出直到被手动停止。
2. 关键指标解释
2.1. procs
- r:等待运行的进程数。
- b:处于不可中断睡眠状态的进程数。
2.2. memory
- swpd:使用的虚拟内存大小(单位:KB)。
- free:空闲的内存大小(单位:KB)。
buff:用作缓冲区的内存大小(单位:KB)。
cache:用作缓存的内存大小(单位:KB)。
2.3. wap
- si:从磁盘交换到内存的大小(单位:KB/s)。
- so:从内存交换到磁盘的大小(单位:KB/s)。
2.4. io
- bi:从块设备读取的块数(单位:块 /s)。
- bo:写入块设备的块数(单位:块 /s)。
2.5. system
- in:每秒的中断数。
- cs:每秒的上下文切换数。
2.6. cpu
- us:用户空间占用 CPU 的百分比。
- sy:内核空间占用 CPU 的百分比。
- id:空闲 CPU 的百分比。
- wa:等待 I/O 完成所占用 CPU 的百分比。
- st:被虚拟机偷走的 CPU 时间百分比(仅在虚拟化环境中显示)。
3. 示例
以下是一个示例命令,它每 5 秒输出一次系统状态,共输出 3 次:
vmstat 5 3
这将输出类似以下的信息:
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 0 123456 23456 345678 0 0 0 0 0 0 0 0 100 0 0
0 0 0 123456 23456 345678 0 0 0 0 1024 2048 0 0 100 0 0
0 0 0 123456 23456 345678 0 0 0 0 1024 2048 0 0 100 0 0