蓝桉云顶

Good Luck To You!

Linux sysstat工具,如何利用它监控和分析系统性能?

Linux sysstat 是一个用于收集和报告系统性能的工具包,包括 vmstat、iostat、sar 等命令。

linux sysstat

Sysstat 是一个在 Linux 系统中广泛使用的性能监控工具集,主要用于收集和分析系统的各种性能统计信息,它包含了多个命令行工具,这些工具能够帮助系统管理员和开发人员实时或周期性地监控服务器的CPU使用率、内存使用、磁盘I/O、网络流量以及其他重要的系统资源指标。

一、Sysstat 的主要工具

1、sar (System Activity Reporter):用于报告系统的CPU、内存、进程、I/O设备以及网络等资源的利用率和统计数据,可以生成实时报告,也可以读取先前记录的日志文件生成历史报告。

2、iostat:用于监视系统的中央处理器(CPU)使用情况以及磁盘操作的统计信息,包括每块硬盘的读写操作数、数据量和延迟时间等。

3、mpstat:多处理器状态监控工具,用于显示每个CPU核心的活动以及整个系统的平均CPU负载。

4、pidstat:用来监控进程级别的CPU、内存、I/O和上下文切换等资源使用情况。

5、sadc:sysstat数据收集器,负责根据配置定期收集系统性能数据并存储到日志文件中。

6、sadf:用来读取由 sadc 收集并存储的数据,并以多种格式(例如CSV、XML或JSON)显示这些数据,它允许用户查看历史性能报告,分析系统过去的资源利用情况,以及生成可视化图表(如SVG)来更好地理解系统的负载变化趋势。

7、vmstat:用于报告虚拟内存统计信息,如进程、内存、paging、block IO、CPU 活动等,它可以帮助你监控系统的性能和资源使用情况。

二、安装 Sysstat

对于基于 Debian 的系统(如 Ubuntu):

sudo apt-get update
sudo apt-get install sysstat

对于基于 RHEL 的系统(如 CentOS、Fedora):

sudo yum install sysstat

三、sar 命令的使用示例

sar 命令很强大,是分析系统性能的重要工具之一,通过 sar 指令,可以全面获取系统的 CPU、运行队列、磁盘 I/O、分页(交换区)、内存、CPU 中断、网络等性能数据。

常用选项:

-A:显示系统所有资源设备的运行状况。

-u:显示系统所有 CPU 在采样时间内的负载状态,默认。

-P:显示当前系统中指定 CPU 的使用情况。

-d:显示系统所有硬盘设备在采样时间内的使用状况。

-r:显示系统内存在采样时间内的使用状况。

-b:显示缓冲区在采样时间内的使用情况。

-v:显示进程、文件、I节点和锁表状态。

-n:显示网络运行状态,参数后面可跟 DEV、EDEV、SOCK 和 FULL,DEV 显示网络接口信息,EDEV 显示网络错误的统计数据,SOCK 显示套接字信息,FULL 显示三个所有的信息,它们可以单独或者一起使用。

-q:显示运行列表中的进程数、进程大小、系统平均负载等。

-o:将输出写入文件。

示例:

查看系统 CPU 的综合负载状况,每 3 秒统计一次,统计 5 次
sar -u 3 5
查看0号cpu的负载情况
sar -P 0

四、iostat 命令的使用示例

iostat 工具提供 CPU 使用率及硬盘吞吐效率的数据;是比较核心的工具。

常用选项:

-c:仅显示 CPU 的状态。

-d:仅显示存储设备的状态,不可以和 -c 一起使用。

-k:以 KB 为单位显示每秒的磁盘请求数,默认单位为块。

-m:以 MB 为单位显示每秒的磁盘请求数,默认单位为块。

-t:显示日期。

-p device|ALL:用于显示块设备及系统分区的统计信息,与 -x 选项互斥。

-x:显示扩展状态,显示出更多内容。

示例:

显示一条包括所有的 CPU 和设备吞吐率的统计信息
iostat
仅显示 CPU 的统计信息
iostat -c
仅显示磁盘的统计信息
iostat -d

五、mpstat 命令的使用示例

mpstat 用于多处理器系统中的 CPU 的利用率的统计,细化到具体某个 CPU 的状态时可以使用参数 -P,处理器的 ID 从 0 开始。

常用选项:

-P {cpu|ALL}:指定 CPU,用 CPU-ID 指定,CPU-ID 是从 0 开始的,即第一个 CPU 为 0,ALL 表示所有 CPU。

-V:输出版本号信息。

示例:

输出所有 CPU 使用情况的统计信息
mpstat
输出第一个 CPU 使用情况的统计信息
mpstat -P 0

六、pidstat 命令的使用示例

pidstat 用来监控进程级别的 CPU、内存、I/O 和上下文切换等资源使用情况。

常用选项:

-u:显示每个进程的 CPU 使用率。

-r:显示每个进程的内存使用情况。

-d:显示每个进程的 I/O 使用情况。

-w:显示每个进程的上下文切换情况。

-p:显示指定进程的信息。

示例:

显示所有进程的 CPU 使用率,每 5 秒刷新一次,共显示 3 次
pidstat -u 5 3

七、sadc 与其他工具的结合使用

sadc 位于/usr/local/lib/sa/ 目录中(Ubuntu 18.04 LTS),如果你没有设置可执行路径,要用绝对路径来运行,sadc 只是一个搜集写入工具,并不直接回显于屏幕上,sadc 是把数据写在一个二进制的文件中,如果想查看数据内容,需要结合其他工具如sarsadf

Sysstat 是一个功能强大且灵活的性能监控工具集,适用于各种规模的系统监控需求,通过合理配置和使用 Sysstat,可以有效地监控系统性能,及时发现和解决潜在的问题,无论是实时监控还是长期趋势分析,Sysstat 都提供了丰富的功能和选项,以满足不同用户的需求。

以上内容就是解答有关“linux sysstat”的详细内容了,我相信这篇文章可以为您解决一些疑惑,有任何问题欢迎留言反馈,谢谢阅读。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年11月    »
123
45678910
11121314151617
18192021222324
252627282930
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
文章归档
网站收藏
友情链接