在 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 问题。