Linux性能分析工具sar篇

简介

sar(System Activity Report)是Linux系统中常用的性能分析工具,可以从多方面对系统的活动进行报告,包括:文件的读写情况、系统调用的使用情况、磁盘 I/O、CPU 效率、内存使用状况、进程活动及 IPC 有关的活动等。

我们可以使用sar命令来获得整个系统性能的报告。这有助于我们定位系统性能的瓶颈,并且有助于我们找出这些烦人的性能问题的解决方法。

Linux 内核维护着一些内部计数器,这些计数器包含了所有的请求及其完成时间和 I/O 块数等信息,sar命令从所有的这些信息中计算出请求的利用率和比例,以便找出瓶颈所在。

 

安装使用

sar工具通常是通过安装sysstat包来获取的。在Ubuntu系统中,可以使用以下命令来安装sysstat包:

sudo apt-get install sysstat

安装完成后,就可以使用sar命令来查看系统的性能指标了。sar命令的常用选项如下:

  • -u:CPU使用率
  • -r:内存使用情况
  • -b:磁盘I/O情况
  • -n:网络流量情况
  • -q:系统负载情况

以下是一些常用的sar命令实例:

  1. 查看CPU使用率:
sar -u 1 3
每隔1秒钟记录一次系统负载情况,共记录3次,然后输出统计结果。

Linux性能分析工具sar篇

  1. 查看内存使用情况:
sar -r
  1. 查看磁盘I/O情况:
sar -b
  1. 查看网络流量情况:
sar -n DEV
  1. 查看系统负载情况:
sar -q

以上命令将会输出系统的性能指标,可以根据需要自行选择查看。另外,sar命令还支持输出到文件,可以使用以下命令将输出保存到文件中:

sar -u -o cpu.log

这将会将CPU使用率的输出保存到cpu.log文件中。

 

实时记录

sar工具默认是以系统启动时间为基准来记录性能数据的,如果想要让sar实时记录系统性能数据,可以使用以下命令:

sar -u 1 10

这个命令将会每秒钟记录一次CPU使用率,记录10次后自动退出。可以根据需要修改参数,比如记录内存使用情况可以使用以下命令:

sar -r 1 10

这个命令将会每秒钟记录一次内存使用情况,记录10次后自动退出。

如果想要将实时记录的数据保存到文件中,可以在命令中加上-o选项,比如:

sar -u 1 10 -o cpu.log

这个命令将会每秒钟记录一次CPU使用率,记录10次后将数据保存到cpu.log文件中。

另外,如果想要让sar工具在系统启动时自动记录性能数据,可以将以下命令添加到/etc/rc.local文件中:

/usr/lib64/sa/sa1 1 1 &
/usr/lib64/sa/sa2 -A &

这样每隔一分钟就会记录一次性能数据,并保存到/var/log/sa目录下。如果需要修改记录的时间间隔,可以修改命令中的参数。

 

查看指定时间段的内存使用率

sar -r -s HH:MM:SS -e HH:MM:SS

其中,-r选项表示查看内存使用率,-s选项指定开始时间,-e选项指定结束时间,HH:MM:SS表示具体的时间。注意,-s和-e选项必须同时指定。

例如,要查看2022年1月1日下午2点到下午3点之间的内存使用率,可以使用以下命令:

sar -r -s 14:00:00 -e 15:00:00

这个命令将会输出2022年1月1日下午2点到下午3点之间的内存使用率数据。

 

查看指定时间段的CPU使用率

sar -u -s HH:MM:SS -e HH:MM:SS

其中,-u选项表示查看CPU使用率,-s选项指定开始时间,-e选项指定结束时间,HH:MM:SS表示具体的时间。注意,-s和-e选项必须同时指定。

例如,要查看2022年1月1日下午2点到下午3点之间的CPU使用率,可以使用以下命令:

sar -u -s 14:00:00 -e 15:00:00

这个命令将会输出2022年1月1日下午2点到下午3点之间的CPU使用率数据。

sar -r -s 14:00:00 -e 15:00:00

这个命令将会输出2022年1月1日下午2点到下午3点之间的内存使用率数据。

 

 

 

原创文章,作者:AIRF,如若转载,请注明出处:http://www.ai-rf.com/index.php/2023/05/18/linux%e6%80%a7%e8%83%bd%e5%88%86%e6%9e%90%e5%b7%a5%e5%85%b7sar%e7%af%87/

(0)
AIRFAIRF
上一篇 2023年5月14日
下一篇 2023年5月18日

相关推荐

  • Linux系统的Swap Buffer和Cache

    在Linux系统中,我们经常用free命令来查看系统内存的使用状态。在一个 CoreOS 的系统上,free命令的显示内容大概是这样一个状态: core@localhost ~ $…

    Linux系统 2022年10月1日
  • 丝滑关闭企业版奇安信天擎开机自启动

    前言 公司要求安装奇安信天擎,并更新病毒库到最新版,我自己电脑安装天擎之后浏览器只有edge能打开,vmware workstation之类的软件全部打不开 过程 网上找到了好多资…

    2024年6月14日
  • Linux Polkit 权限提升漏洞风险

    描述 在 polkit 的 pkexec 实用程序中发现了一个本地权限提升漏洞。pkexec 应用程序是一个 setuid 工具,旨在允许非特权用户根据预定义的策略以特权用户身份运…

    2022年1月28日
  • Linux-tcpdump指令

    Linux-tcpdump指令 tcpdump是Linux和其他类Unix系统中用于捕获和分析网络流量的命令行工具。它被广泛应用于网络诊断、故障排除、安全分析以及网络流量监控等场景…

    Linux系统 2025年1月27日
  • 反向代理加速源站教程

    场景 你的源站服务器 B 到你的网络非常差,但你另有一个服务器 A 到你的网络很好,尽管 A 的配置和硬盘都不理想,甚至可能会出问题。在这种情况下,你可以将服务器 A 用作源站反向…

    Linux系统 2023年6月24日
  • 操作系统的超强入门科普(Unix/Linux篇)

    今天这篇文章,我们来聊聊操作系统(Operating System)。 说到操作系统,大家都不会陌生。我们天天都在接触操作系统——用台式机或笔记本电脑,使用的是windows和ma…

    2023年11月20日
  • 学了这么久的Linux系统调用你知道多少?

    Linux系统中, 用户程序可以通过系统调用接口请求内核提供服务,这些服务可能会修改硬件状态,管理文件系统,或者对进程进行同步等操作。用户程序在执行过程中,如果需要使用系统调用,可…

    Linux系统 2024年1月10日
  • Linux系统修改root密码报错

    一.问题描述 新上架的浪潮服务器使用装机平台进行统一安装,安装完成后修改用户密码时统一无法修改,使用root账户无法修改其他用户密码,自身根密码也无法修改成功,报错如下 Chang…

    Linux系统 2021年11月21日
  • 什么是 Linux inode?用途是什么?

    1. 写在前面 Linux inode(index node),自 20 世纪 70 年代末推出第一个 UNIX 文件系统以来就一直存在。90 年代 Linux 引入了相同的概念,…

    2024年2月1日
  • Linux exec指令

    Linux exec指令 exec是Linux Shell中一个非常重要的内建命令,用于替换当前shell的进程空间,执行指定命令或脚本而不启动新的子进程。理解和灵活运用exec对…

    Linux系统 2024年12月25日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注