news 2026/4/18 15:53:23

【Linux 基础知识系列:第二百一十三篇】Linux 系统资源监控:sar 命令

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【Linux 基础知识系列:第二百一十三篇】Linux 系统资源监控:sar 命令

简介

在 Linux 系统管理中,监控系统资源的使用情况是确保系统性能和稳定性的重要任务。系统管理员需要实时了解 CPU、内存、磁盘和网络等资源的使用情况,以便及时发现潜在问题并进行优化。sar(System Activity Reporter)是一个强大的系统性能监控工具,能够采集、查看和报告系统的历史性能数据。通过使用sar,管理员可以轻松地分析系统在不同时间段内的资源使用情况,从而更好地进行系统管理和优化。本文将详细介绍sar的使用方法,包括如何采集和查看系统 CPU、内存、磁盘和网络的历史性能数据。

核心概念

系统资源监控

系统资源监控是指对计算机系统中的各种资源(如 CPU、内存、磁盘和网络)的使用情况进行实时或定期的检测和记录。通过监控这些资源,系统管理员可以了解系统的运行状态,发现潜在的性能瓶颈,并采取相应的优化措施。

sar 工具

sar是一个系统活动报告工具,属于sysstat包的一部分。它能够采集和报告系统资源的使用情况,包括 CPU 使用率、内存使用量、磁盘 I/O、网络流量等。sar的数据采集功能通过sa1sa2脚本实现,这些脚本通常会在系统启动时自动运行,并定期记录系统活动数据。

数据采集与报告

  • 数据采集sar使用sa1脚本定期采集系统性能数据,并将数据存储在日志文件中。这些日志文件通常位于/var/log/sa目录下。

  • 数据报告sar使用sar命令从日志文件中读取数据,并生成易于理解的报告。这些报告可以显示系统在指定时间段内的性能指标。

命令与示例

安装 sysstat 包

在大多数 Linux 发行版中,sarsysstat包的一部分。可以通过包管理器安装sysstat

在 Debian/Ubuntu 系统中:

sudo apt update sudo apt install sysstat

在 CentOS/RHEL 系统中:

sudo yum install sysstat

安装完成后,需要确保sysstat服务已启动并设置为开机自启。

sudo systemctl enable sysstat sudo systemctl start sysstat

启用数据采集

默认情况下,sysstat会通过sa1sa2脚本定期采集数据。这些脚本通常会在系统启动时自动运行。可以通过编辑/etc/cron.d/sysstat文件来配置数据采集的频率

# 每 10 分钟采集一次数据 */10 * * * * root /usr/lib/sysstat/sa1 1 1

查看 CPU 使用率

使用sar命令查看 CPU 使用率。

sar -u

示例输出:

12:00:01 AM CPU %user %nice %system %iowait %steal %idle 12:10:01 AM all 0.01 0.00 0.02 0.00 0.00 99.97 12:20:01 AM all 0.02 0.00 0.03 0.00 0.00 99.95

查看内存使用情况

使用sar命令查看内存使用情况。

sar -r

示例输出:

12:00:01 AM kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit 12:10:01 AM 123456 789012 86.34 12345 67890 1234567 12.34 12:20:01 AM 123456 789012 86.34 12345 67890 1234567 12.34

查看磁盘 I/O

使用sar命令查看磁盘 I/O 情况。

sar -d

示例输出:

12:00:01 AM DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util 12:10:01 AM dev8-0 1.23 45.67 89.01 10.11 0.12 1.23 1.23 0.12 12:20:01 AM dev8-0 1.23 45.67 89.01 10.11 0.12 1.23 1.23 0.12

查看网络流量

使用sar命令查看网络流量。

sar -n DEV

示例输出:

12:00:01 AM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s 12:10:01 AM eth0 123.45 678.90 12.34 56.78 0.00 0.00 0.00 12:20:01 AM eth0 123.45 678.90 12.34 56.78 0.00 0.00 0.00

查看特定时间段的数据

使用sar命令查看特定时间段的数据。

sar -u -s 12:00:00 -e 13:00:00

示例输出:

12:00:01 AM CPU %user %nice %system %iowait %steal %idle 12:10:01 AM all 0.01 0.00 0.02 0.00 0.00 99.97 12:20:01 AM all 0.02 0.00 0.03 0.00 0.00 99.95

查看特定日期的数据

使用sar命令查看特定日期的数据。

sar -u -f /var/log/sa/sa10

示例输出:

12:00:01 AM CPU %user %nice %system %iowait %steal %idle 12:10:01 AM all 0.01 0.00 0.02 0.00 0.00 99.97 12:20:01 AM all 0.02 0.00 0.03 0.00 0.00 99.95

常见问题

如何确保数据采集正常运行?

可以通过检查/var/log/sa目录下的日志文件来确认数据采集是否正常运行。如果日志文件为空或缺失,可能是sa1sa2脚本未正确配置或未运行。

ls -l /var/log/sa

如何查看实时系统性能数据?

虽然sar主要用于查看历史数据,但可以通过sar命令的实时模式查看当前系统性能数据。

bash

复制

sar -u 1 5

此命令将每秒输出一次 CPU 使用率,共输出 5 次。

如何分析磁盘 I/O 性能问题?

磁盘 I/O 性能问题通常可以通过查看await%util指标来分析。await表示平均等待时间,%util表示磁盘利用率。如果%util接近 100%,则可能表示磁盘 I/O 是性能瓶颈。

如何分析网络性能问题?

网络性能问题可以通过查看rxkB/stxkB/s指标来分析。这些指标表示接收和发送的数据量。如果这些值过高,可能表示网络流量过大,需要进一步调查。

实践建议

定期检查系统性能

建议定期使用sar查看系统性能数据,特别是在系统负载较高的时间段。这可以帮助及时发现潜在的性能问题。

设置合理的数据采集频率

根据系统需求设置合理的数据采集频率。如果系统负载较高,可以适当增加采集频率,以便更详细地记录系统性能变化。

分析关键指标

重点关注 CPU 使用率、内存使用量、磁盘 I/O 和网络流量等关键指标。这些指标通常能够反映系统的整体性能状态。

使用图表工具可视化数据

可以使用工具如ksarsar2graphsar的数据生成图表,以便更直观地分析系统性能趋势。

# 安装 ksar sudo apt install ksar

配置报警阈值

结合监控工具(如 Nagios 或 Zabbix)为关键指标设置报警阈值。当指标超过阈值时,自动触发报警,以便及时采取措施。

总结

本文详细介绍了sar(System Activity Reporter)工具的使用方法,包括如何采集和查看系统 CPU、内存、磁盘和网络的历史性能数据。通过合理使用sar,系统管理员可以轻松地监控和分析系统资源的使用情况,及时发现性能瓶颈并进行优化。在实际应用中,定期检查系统性能、设置合理的数据采集频率以及重点关注关键指标是确保系统性能和稳定性的关键实践。掌握这些技能后,你将能够更有效地管理和维护 Linux 系统,提升系统的整体性能和可靠性。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/17 19:48:21

Win11搭建智谱AI开发环境(Open-AutoGLM部署实战指南)

第一章:Win11搭建智谱AI开发环境概述在Windows 11系统上构建智谱AI(Zhipu AI)的本地开发环境,是开展大模型应用研发的重要起点。该环境融合了Python生态、深度学习框架与GPU加速能力,为开发者提供高效、稳定的AI实验平…

作者头像 李华
网站建设 2026/4/18 8:40:34

徐州耐力板厂家

徐州耐力板厂家:行业现状、优势与展望在建筑、农业、广告等众多领域,耐力板凭借其高透明度、抗冲击性强、耐候性好等优势得到广泛应用。徐州作为工业较为发达的地区,拥有不少耐力板厂家,下面我们来深入了解。徐州耐力板厂家的行业…

作者头像 李华
网站建设 2026/4/18 7:56:42

7、隐写术与应用程序密码破解:原理、方法与工具

隐写术与应用程序密码破解:原理、方法与工具 1. 隐写术概述 隐写术是指“将信息隐藏于显而易见之处”。它与密码学不同,密码学是将明文转换为密文,而隐写术不会改变所隐藏信息的形式,只是将信息放置在文件内部。在隐写术中,有两种文件类型:载体文件,用于容纳信息,可以…

作者头像 李华
网站建设 2026/4/18 8:03:05

10、Windows Azure服务配置与运行时API深度解析

Windows Azure服务配置与运行时API深度解析 1. 服务配置文件的有效使用 服务配置在运行时是可以更改的,这使得它成为放置一些无需停止服务即可更改的设置的理想位置。以下是有效使用服务配置文件的一些建议: - 存储账户信息 :将存储账户名称和凭据放在配置文件中,这样…

作者头像 李华
网站建设 2026/4/18 8:48:33

为什么90%的人在Win11部署Open-AutoGLM时失败?真相在这里

第一章:为什么90%的人在Win11部署Open-AutoGLM时失败?真相在这里许多开发者在尝试于 Windows 11 系统中部署 Open-AutoGLM 时遭遇失败,核心原因往往并非模型本身,而是环境配置与系统兼容性被严重低估。以下几点是常见陷阱及其解决…

作者头像 李华
网站建设 2026/4/18 11:05:47

phoneagent Open-AutoGLM实战指南(从零搭建AI自动操作引擎)

第一章:phoneagent Open-AutoGLM实战指南(从零搭建AI自动操作引擎)Open-AutoGLM 是 phoneagent 项目中的核心自动化推理引擎,专为移动端智能操作设计,能够基于自然语言指令实现对手机应用的自主控制。通过集成大语言模…

作者头像 李华