在 Ubuntu 系统中,cpustat 是一个强大的工具,用于监控和分析 CPU 的使用情况。以下是如何使用 cpustat 来排查 CPU 问题的详细步骤:
首先,确保你的系统上已经安装了 sysstat 包。如果尚未安装,可以使用以下命令进行安装:
sudo apt update
sudo apt install sysstat
查看所有 CPU 的统计信息
不带任何参数运行 cpustat 将显示自上次重启以来的平均 CPU 使用情况:
cpustat
查看特定 CPU 的统计信息
使用 -C 选项后跟 CPU 编号(从 0 开始)来查看特定 CPU 的统计信息:
cpustat -C 0
查看特定时间间隔的统计信息
使用 -i 选项可以指定采样间隔(以秒为单位),后面跟上采样次数。例如,每 2 秒采样一次,共采样 5 次:
cpustat -i 2 5
查看详细的 CPU 统计信息
使用 -e 选项可以显示更详细的 CPU 统计信息,包括每个 CPU 的上下文切换次数、中断次数等:
cpustat -e
将输出保存到文件
你可以使用重定向操作符将 cpustat 的输出保存到文件中,以便后续分析:
cpustat -i 2 5 > cpu_usage.log
cpustat 的输出包括以下列:
%usr: 用户空间占用的 CPU 时间百分比%sys: 系统空间占用的 CPU 时间百分比%idle: 空闲时间百分比%iowait: 等待 I/O 操作完成的 CPU 时间百分比%irq: 硬中断时间百分比%soft: 软中断时间百分比%steal: 虚拟机管理程序占用的时间百分比%guest: 虚拟 CPU 时间百分比%gnice: 运行 nice 值为负的进程的时间百分比%usr 和 %sys 值:如果 %usr 和 %sys 的值很高,而 %idle 的值很低,那么可能存在 CPU 瓶颈。%iowait 值:如果 %iowait 的值较高,说明 I/O 操作可能是性能瓶颈。可以考虑优化磁盘性能或调整应用程序的 I/O 策略。%steal 和 %guest 的值可以帮助了解虚拟机的性能表现。cpustat 输出,可以追踪问题的根源。例如,如果某个进程的 CPU 使用率突然飙升,可能是该进程出现了 bug 或配置不当。cpustat 来确认这些改动是否有效降低了 CPU 负载或提高了响应速度。通过这些步骤,你可以使用 cpustat 在 Ubuntu 系统中有效地监控和分析 CPU 的使用情况,从而排查和解决 CPU 问题。