vmstat 命令生成器
生成用于报告虚拟内存统计数据的vmstat命令
vmstat 入门指南
## 什么是 vmstat?
`vmstat` 命令用于报告虚拟内存、进程、CPU 以及 I/O 相关的统计信息。执行一次该命令即可获取系统自启动以来的状态快照;若指定延迟时间,则会进入持续监控模式——这对于诊断内存压力、交换空间使用情况以及 CPU 饱和度极具价值。
## 使用方法
1. **设置延迟时间**:输入以秒为单位的间隔时间以实现持续监控(例如 `2`),如不输入则表示仅生成一次快照。 2. **设置采样次数**:限制要生成的样本数量(例如 `5`)。 3. **选择显示选项**:使用 `-a` 查看活动/非活动内存信息,使用 `-s` 查看事件计数器,使用 `-d` 查看磁盘统计信息,或使用 `-w`/`-t` 获取扩展格式/带时间戳的输出。 4. **复制并执行**:将生成的命令复制到终端中执行即可。
常用选项
### `delay` 和 `count`(按时间间隔执行) 需指定以秒为单位的间隔时间,以及可选的采样次数。`vmstat 2 5`会每隔两秒采集五个样本,之后便停止运行。若未指定采样次数,vmstat将持续运行。
### `-a` 活动内存/非活动内存 显示`active`和⟦CODE5⟦(非活动内存)列,而非默认的⟦CODE6⟦/⟦CODE7⟦格式。这有助于了解实际被使用的RAM容量。
### `-s` 统计信息 展示自系统启动以来的各类事件计数器及内存总量数据(如进程创建数、上下文切换次数、交换内存的读写量,以及空闲/共享/缓冲/缓存内存的用量)。该输出为一次性显示,不会循环生成。
### `-d` 磁盘统计信息 显示每块磁盘的读取量、写入量以及整体IO总量。在排查哪块设备处于繁忙状态时非常有用。
### `-w` 宽列显示 将列宽调大,避免数值溢出显示——这样在高分辨率终端上查看,或通过管道传输到日志文件时,会更便于阅读。
### `-t` 时间戳 为每个采样数据添加时间戳列,这对于将输出结果存档以便后续分析而言至关重要。
### `-S` 单位 可使用⟦CODE13⟦、⟦CODE14⟦、⟦CODE15⟦、⟦CODE16⟦中的任意一种来设置内存显示单位。例如:⟦CODE17⟦会以兆字节为单位显示内存容量。
▶哪一列可以显示系统内存不足?
▶如何将带有时间戳的 vmstat 输出记录到文件中?
▶CPU的us/sy/id/wa这几列分别代表什么含义?
如果这个工具对你有帮助的话,请考虑请我喝杯咖啡。
请给我买杯咖啡吧。