cpustat 是一个用于显示 CPU 使用情况的工具,它可以提供关于 CPU 的各种性能指标。以下是 cpustat 命令输出中一些关键指标的解释:
1. CPU 使用率
- %user: 用户态进程使用的 CPU 时间百分比。
- %system: 内核态进程使用的 CPU 时间百分比。
- %idle: CPU 空闲时间百分比。
2. 上下文切换和中断
- ctxt: 上下文切换次数。
- btime: 系统启动以来的秒数。
- processes: 当前运行的进程数。
- procs_running: 正在运行的进程数。
- procs_blocked: 被阻塞的进程数。
- softirq: 软中断次数。
- steal: 虚拟机管理程序从当前虚拟机“偷取”的 CPU 时间(在虚拟化环境中)。
3. CPU 核心信息
4. 内存相关指标
- kb_memfree: 空闲内存(以 KB 为单位)。
- kb_memavail: 可用内存(包括缓存)。
- kb_memused: 已使用内存。
- kb_shrunk: 缓存被压缩释放的内存。
5. 磁盘 I/O 指标
- tps: 每秒传输次数(磁盘读写操作)。
- kB_read/s: 每秒读取的数据量(KB)。
- kB_wrtn/s: 每秒写入的数据量(KB)。
- kB_read: 总共读取的数据量(KB)。
- kB_wrtn: 总共写入的数据量(KB)。
6. 网络接口指标
- eth0: 网络接口名称(例如 eth0)。
- rxpck/s: 每秒接收的数据包数。
- txpck/s: 每秒发送的数据包数。
- rxkB/s: 每秒接收的数据量(KB)。
- txkB/s: 每秒发送的数据量(KB)。
7. 其他指标
- irq: 硬中断次数。
- guest: 虚拟机使用的 CPU 时间。
- guest_nice: 虚拟机中 nice 值调整过的 CPU 时间。
示例输出
cpu %user %system %idle %iowait %steal %irq %softirq %guest %gnice %idle
all 12.34 5.67 81.99 0.01 0.00 0.02 0.01 0.00 0.00 0.00
eth0 10.23 4.56 85.21 0.00 0.00 0.01 0.02 0.00 0.00 0.00 0.00
注意事项
cpustat 的输出可能会因版本和配置的不同而有所差异。
- 在虚拟化环境中,
%steal 和 %guest 指标尤为重要,可以帮助监控虚拟机的性能。
- 使用
cpustat -P ALL 可以查看所有 CPU 核心的详细指标。
通过分析这些关键指标,系统管理员可以有效地监控和优化系统的性能。