news 2026/4/23 15:55:00

【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/23 9:21:50

14、EnCase:计算机取证的得力工具

EnCase:计算机取证的得力工具 1. 引言 计算机取证是一个近年来迅速兴起且广受欢迎的领域。随着其热度的提升,越来越多的取证软硬件工具应运而生。其中,EnCase 被许多人视为计算机取证领域的行业标准软件,执法部门、政府机构以及众多高校都将 EnCase 法医版作为事实上的取…

作者头像 李华
网站建设 2026/4/23 9:20:57

不刷Java八股文连面试机会都没有,2025最全Java面试真题

很多人会问Java面试八股文有必要背吗?我的回答是:很有必要。你可以讨厌这模式,但你一定要去背,因为不背你就进不了大厂。国内的互联网面试,恐怕是现存的、最接近科举考试的制度。而且,我国的八股文确实是独…

作者头像 李华
网站建设 2026/4/23 9:20:22

19、Windows Azure 存储:容器与Blob的使用指南

Windows Azure 存储:容器与Blob的使用指南 1. 引言 在当今数字化时代,数据的存储和管理变得至关重要。Windows Azure 提供了强大的存储服务,其中容器和 Blob 是两个重要的概念。本文将详细介绍如何使用 Windows Azure 存储中的容器和 Blob,包括创建容器、设置访问策略、列…

作者头像 李华
网站建设 2026/4/23 9:21:37

22、云存储与消息队列:Azure 中的数据管理与处理

云存储与消息队列:Azure 中的数据管理与处理 1. 自定义域名与 CDN 配置 在云存储和内容分发网络(CDN)的使用中,自定义域名的配置是一个重要环节。首先,需要创建验证 CNAME 记录,同时创建 cdn.sriramk-rishnan.com CNAME 记录,该记录将重定向到 CDN 端点。当门户检测…

作者头像 李华
网站建设 2026/4/23 9:21:35

力扣597-好友申请I:总体通过率

表:FriendRequest------------------------- | Column Name | Type | ------------------------- | sender_id | int | | send_to_id | int | | request_date | date | ------------------------- 该表可能包含重复项(换句话…

作者头像 李华