说到CPU监控,很多人第一反应可能是top或者htop,但如果你需要更细粒度的、带时间戳的CPU使用率分析,cpustat其实是个被低估的好工具。它属于sysstat软件包,和sariostat是兄弟,专门用来按固定间隔输出CPU各维度的统计信息,非常适合排查系统性能瓶颈。

怎样通过cpustat了解CPU状态

先得把工具装好。如果你的系统是Debian系(比如Ubuntu),直接跑:

sudo apt-get update
sudo apt-get install sysstat

如果是Red Hat系(CentOS或Fedora),用yumdnf都行:

sudo yum install sysstat
# 或者
sudo dnf install sysstat

装好之后,运行起来很简单。直接在终端里输入cpustat,默认就会输出所有CPU核心的实时统计信息。不过默认的输出间隔是1秒,在有些场景下可能太快了,可以用-i选项指定间隔秒数,比如每2秒更新一次:

cpustat -i 2

输出怎么看呢?cpustat的列其实很直观,核心指标包括:

这几个指标组合起来看,就能快速定位是用户态负载高、内核态负载高,还是I/O在拖后腿。

如果还想看得更细,cpustat还提供了不少高级选项。比如用-c可以显示每个CPU核心各自的统计,而不是所有核心的平均值——这对排查单核热点问题特别有用。用-m还能顺带把内存和交换空间的使用情况一起显示出来,省得你再开一个窗口跑free

当然,要了解所有选项,最靠谱的还是看手册页:

man cpustat

总的来说,cpustat是一个轻量但信息密度很高的监控工具,特别适合在脚本里定期采集数据,或者和sar配合做长期性能分析。下次遇到CPU利用率异常但又不知道具体是哪个环节的问题,不妨试试它。

本文转载于:https://www.yisu.com/ask/25325227.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。