Linux系统监控:sar命令详解与实例分析
来源:https://www.runoob.com/linux/linux-comm-sar.html
时间:2025-07-10 21:03:56 363浏览 收藏
学习文章要努力,但是不要急!今天的这篇文章《Linux活动报告sar命令详解与使用实例》将会介绍到等等知识点,如果你想深入学习文章,可以关注我!我会持续更新相关文章的,希望对大家都能有所帮助!
Linux sar 命令
一、什么是 sar 命令
sar(System Activity Reporter)是 Linux 系统下一个强大的性能监控工具,属于 sysstat 工具包的一部分。它能够收集、报告和保存系统的各种活动信息,包括:
- CPU 使用情况
- 内存利用率
- I/O 活动
- 网络统计
- 进程活动
- 设备负载等
1.1 sar 命令的优势
- 历史数据分析:可以查看过去任意时间点的系统状态
- 全面监控:覆盖系统各个关键性能指标
- 低开销:数据收集对系统性能影响极小
- 自动化:可以配置为定期自动收集数据
二、安装与基本配置
2.1 安装 sysstat 包
在大多数 Linux 发行版中,sar 命令需要通过安装 sysstat 包来获取:
# Ubuntu/Debian sudo apt-get install sysstat # CentOS/RHEL sudo yum install sysstat # Fedora sudo dnf install sysstat
2.2 启用数据收集
安装后需要启用数据收集服务:
实例
# 编辑配置文件
sudo vi /etc/default/sysstat
# 将 ENABLED="false" 改为
ENABLED="true"
# 重启服务
sudo systemctl restart sysstat
sudo vi /etc/default/sysstat
# 将 ENABLED="false" 改为
ENABLED="true"
# 重启服务
sudo systemctl restart sysstat
默认情况下,sar 每10分钟收集一次数据,并保存在 /var/log/sysstat/
目录下。
三、基本语法与常用参数
3.1 基本语法格式
sar [选项] [间隔时间] [次数]
3.2 常用参数说明
参数 | 说明 |
---|---|
-A | 显示所有报告 |
-u | 显示 CPU 利用率 |
-r | 显示内存使用情况 |
-b | 显示 I/O 和传输速率统计 |
-n DEV | 显示网络设备统计 |
-q | 显示系统负载和队列长度 |
-d | 显示磁盘活动 |
-P ALL | 显示每个 CPU 的统计 |
-s | 指定开始时间 |
-e | 指定结束时间 |
-f | 从指定文件读取数据 |
四、实际应用示例
4.1 实时监控 CPU 使用率
实例
# 每2秒刷新一次,共显示5次
sar -u 2 5
sar -u 2 5
输出示例:
Linux 5.4.0-91-generic (hostname) 03/15/2023 _x86_64_ (4 CPU) 10:30:01 AM CPU %user %nice %system %iowait %steal %idle 10:30:03 AM all 5.12 0.00 1.02 0.51 0.00 93.35 10:30:05 AM all 6.23 0.00 1.34 0.23 0.00 92.20
4.2 查看历史内存使用情况
实例
# 查看今天的内存使用情况
sar -r
# 查看指定日期的数据(需指定文件)
sar -r -f /var/log/sysstat/sa15 # 15号的数据
sar -r
# 查看指定日期的数据(需指定文件)
sar -r -f /var/log/sysstat/sa15 # 15号的数据
4.3 监控磁盘 I/O 活动
实例
# 监控磁盘活动,每1秒刷新,共10次
sar -d 1 10
sar -d 1 10
4.4 查看网络接口统计
实例
# 监控网络接口活动
sar -n DEV 1 5
sar -n DEV 1 5
五、高级用法与技巧
5.1 组合监控多个指标
实例
# 同时监控CPU、内存和磁盘
sar -urdb 1 5
sar -urdb 1 5
5.2 生成特定时间段的报告
实例
# 查看上午9点到10点的CPU使用情况
sar -u -s 09:00:00 -e 10:00:00
sar -u -s 09:00:00 -e 10:00:00
5.3 将输出保存到文件
实例
# 将监控结果保存到文件
sar -A 1 10 > system_report.log
sar -A 1 10 > system_report.log
5.4 监控特定CPU核心
实例
# 监控CPU0的使用情况
sar -P 0 1 5
sar -P 0 1 5
六、数据解读指南
6.1 CPU 指标解读
指标 | 含义 | 健康范围 |
---|---|---|
%user | 用户空间CPU使用率 | |
%system | 内核空间CPU使用率 | |
%iowait | CPU等待I/O时间 | |
%idle | CPU空闲时间 | >20% |
6.2 内存指标解读
指标 | 含义 |
---|---|
kbmemfree | 空闲物理内存(KB) |
kbmemused | 已用物理内存(KB) |
%memused | 内存使用率 |
kbbuffers | 缓冲区使用的内存(KB) |
kbcached | 缓存使用的内存(KB) |
6.3 磁盘指标解读
指标 | 含义 |
---|---|
tps | 每秒传输次数 |
rd_sec/s | 每秒读取的扇区数 |
wr_sec/s | 每秒写入的扇区数 |
%util | 设备利用率 |
七、常见问题排查
7.1 CPU 瓶颈识别
如果 %user
或 %system
持续高于80%,可能表明:
- 应用程序计算密集
- 系统调用过多
- 需要优化代码或增加CPU资源
7.2 内存不足判断
当以下情况同时出现时,可能存在内存不足:
%memused
持续高于90%kbcached
值很低- 交换分区(
kbswpused
)使用量高
7.3 I/O 瓶颈识别
%iowait
高和磁盘 %util
高表明:
- 磁盘I/O成为瓶颈
- 可能需要更快的存储设备
- 或优化I/O密集型操作
以上就是《Linux系统监控:sar命令详解与实例分析》的详细内容,更多关于Linux,性能监控,sar命令,系统活动,sysstat的资料请关注golang学习网公众号!
声明:本文转载于:https://www.runoob.com/linux/linux-comm-sar.html 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
最新阅读
更多>
-
407 收藏
-
489 收藏
-
434 收藏
-
458 收藏
-
110 收藏
-
412 收藏
-
271 收藏
-
282 收藏
-
233 收藏
-
352 收藏
-
128 收藏
-
421 收藏
课程推荐
更多>
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 542次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 511次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 498次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 484次学习