linux系统sar命令查看CPU
linux系统sar命令查看CPU详细介绍
在 Linux 系统中,sar(System Activity Reporter)命令是sysstat工具包的一部分,用于监控和分析系统性能。以下是使用sar命令查看 CPU 相关信息的常用方法:
一、安装 sysstat 工具包
如果系统未安装sar,需先安装sysstat:
bash
sysstat
yum sysstat
二、sar 命令基本语法
bash
sar 选项 采样间隔 采样次数
- 采样间隔:两次采样之间的时间间隔(单位:秒)。
- 采样次数:可选,指定采样的总次数(默认无限次,直到手动终止)。
三、查看 CPU 利用率(实时数据)
1.
查看所有 CPU 核心的平均利用率
bash
sar
- 输出字段解释:
%user:用户空间程序占用 CPU 的时间百分比。%nice:低优先级用户空间程序(nice 值调整后)占用 CPU 的时间百分比。%system:内核空间程序占用 CPU 的时间百分比。%iowait:CPU 等待 I/O 操作完成的时间百分比(值高可能表示磁盘瓶颈)。%steal:虚拟机被宿主机抢占 CPU 的时间百分比(虚拟化环境常见)。%idle:CPU 空闲时间百分比(使用率 = 100% - % idle)。
2.
查看单个或所有 CPU 核心的详细数据
- 查看所有 CPU 核心:bash
sar ALL - 查看指定 CPU 核心(如核心 0):bash
sar
四、查看历史 CPU 数据(日志文件)
sar会将历史数据存储在/var/log/sa/目录下,文件名格式为saXX(XX为日期,如sa27表示 27 日的数据)。
1.
查看当天的历史数据
bash
sar /var/log/sa/sa +%d
2.
查看指定日期的历史数据
bash
sar /var/log/sa/sa25
3.
按时间段过滤数据
bash
sar /var/log/sa/sa27 :00 :00
五、其他常用选项
- 查看 CPU 平均负载(与
uptime命令类似):bashsar - 查看 CPU 频率变化(需内核支持):bash
sar
六、注意事项
- 数据采样间隔:
- 实时监控时,间隔建议≥1 秒(过短可能导致数据不准确)。
- 历史数据的默认采样间隔由
/etc/sysstat/sysstat.conf中的interval参数控制(通常为 10 分钟)。
- CPU 核心编号:
- 编号从 0 开始,可通过
lscpu命令查看系统 CPU 核心数和编号:bashlscpulscpu
- 编号从 0 开始,可通过
- 性能分析思路:
- 若
%idle持续低于 10%,说明 CPU 负载较高。 - 若
%iowait较高(如 > 30%),需排查磁盘 I/O 瓶颈。 - 若单个 CPU 核心
%idle明显低于其他核心,可能存在进程调度不均衡问题。
- 若
示例输出解读
bash
$ sarLinux .0-105-generic ubuntu 04/27/2025 _x86_64_ CPU
:00:01 CPU %user %nice %system %iowait %steal %idle
:00:02 all
:00:03 all
- 上述输出表示:所有 CPU 核心的平均利用率中,用户空间占 2% 左右,内核空间占 1% 左右,空闲率约 97%,系统负载较低。
通过sar命令可以灵活分析 CPU 的实时和历史性能数据,结合其他工具(如top、iotop)可更全面地定位系统瓶颈。