直接运行 sar -u 1 5 可实时采样 CPU 使用率,输出 %user、%system、%idle 等指标;不加参数则读取历史数据而非实时状态。
如何用
实时看 CPU 使用率
直接运行
就能每秒采样一次、共 5 次,输出用户态(
)、内核态(
)、空闲(
)等关键指标。注意默认单位是百分比,不是毫秒或 ticks。
常见错误是只跑一次
不带参数——它会查历史数据(来自
),而非当前实时状态;想看“现在”,必须加时间间隔和次数。
可展开显示软中断(
)、硬中断(
),排查中断风暴时有用
如果看到
长期接近 0,但
很高,说明不是 CPU 瓶颈,而是磁盘响应慢
某些容器环境或低权限账户下,
值异常高(>10%),大概率是宿主机资源超卖
查内存是否真缺页
显示的是物理内存使用概况(
、
),但它不等于“内存不够”。真正反映压力的是
的分页活动:重点关注
/
(每秒换入/换出页数)和
(每秒主缺页次数)。
主缺页(
)高才说明进程在频繁从磁盘加载代码或数据段;若该值持续 >100/s,配合
发现可用内存
和
最好同时跑,避免时间错位导致误判
接近总量 ≠ 内存瓶颈:Linux 会把空闲内存用于 page cache,
(见
)才是更准的可分配量
不显示 swap 使用细节,要查
(
)和
(
/
)
磁盘 I/O 数据里哪个字段最值得盯
别只看
的
。这个值是设备忙时占比,对 NVMe 或多队列 SSD 来说,80% util 可能完全正常;而对单盘 SATA,>60% 就可能排队了。更可靠的指标是
(I/O 平均等待毫秒数)和
(实际服务时间)——如果
,说明请求在队列里堆着。
注意
默认不显示设备名全称(如
),需加
参数才能区分多盘,否则所有数据会混成一个
行。
CentOS Linux 7.9.2009
CentOS Linux 7.9.2009是传统CentOS Linux 7的最后主要版本,也是很多企业历史服务器中仍可能遇到的系统版本。它以稳定、兼容RHEL 7生态、文档丰富和软件支持广泛著称,曾长期用于Web服务、数据库、虚拟化节点和企业内部业务系统。不过CentOS Linux 7已于2024年6月30日停止维护,现在继续使用会面临安全补丁缺失风险。该版本更适合旧业务迁移、历史环境恢复或离线兼容性测试。
下载
用
(
启用可读设备名)避免认错盘
和
是吞吐量,
和
是合并请求数,后者高说明 I/O 聚合做得好
如果
突增但
不高,可能是应用层小 IO 密集(如数据库随机读),而非磁盘硬件瓶颈
为什么
历史数据突然没了
因为
本身不采集,它只读取
服务记录的日志,默认路径是
(XX 是日期)。如果
没启用、crond 任务被禁、或磁盘满导致写入失败,历史就为空。
检查三件事:
、
、
。另外,
里定义的采集频率(通常是每 10 分钟)和保留天数(
中
)直接影响你能回溯多久。
刚装完
,需手动执行
确认有数据生成
可指定某天文件,但 sa 文件是二进制,不能用
直接看
如果业务要求秒级精度,
默认 10 分钟太粗,需改
并重启服务,但会增大磁盘压力
历史数据依赖 cron 和磁盘空间,这两点最容易被忽略,一出问题就只能看实时,没法对比趋势。
sarsar -u 1 5%user%system%idlesar -u/var/log/sysstat/sar -u ALL 1 3%soft%irq%idle%iowait%stealsarsar -r%memusedkbmemfreesar -Bpgpginpgpgoutpgmajfaultpgmajfaultfree -hsar -r 2 10sar -B 2 10kbmemusedMemAvailable/proc/meminfosar -rsar -S%swpusedsar -Wpswpinpswpoutsar -d%utilawaitsvctmawait >> svctmsar -dnvme0n1p1-P ALLDEVsar -d -p 1 5-prkB/swkB/srrqm/swrqm/sawait%utilsarsarsysstat/var/log/sysstat/saXXsysstatsystemctl is-active sysstatls -l /var/log/sysstat/sa*df -h /var/log/etc/cron.d/sysstat/etc/sysconfig/sysstatHISTORYsysstatsadf -d /var/log/sysstat/sa$(date +%d) | headsar -f /var/log/sysstat/sa15catsysstat/etc/cron.d/sysstat