LinuxSAR历史回顾:探究性能分析工具的演变之路 (linuxsar历史)

自从Linux首次开源以来,已经走过了很长的一段路程。在其漫长的发展历程中,涌现出了许多并且可以说是在这个领域中占有重要地位的性能分析工具。其中,LinuxSAR是其中一个具代表性的工具,它可以提供服务器状态的实时监测以及运行性能的分析,因此在众多工具中得到广泛的应用。本文将重点关注LinuxSAR的历史演变,并阐述它支撑Linux系统管理和监视的重要性。

一、LinuxSAR的诞生

在Linux系统中,过去常常用top命令来监视系统的负载和占用率,但是top命令不能提供为什么会出现高负载的原因,所以人们需要更多的性能分析和诊断工具。SAR(System Activity Reporter)诞生于1980年代早期,它最初用于Unix系统上,随着Linux操作系统的发展,SAR被成功移植到Linux上。SAR提供了可以十分方便地收集系统的性能数据的功能,可以监视CPU使用率、内存、磁盘I/O以及网络I/O等资源的消耗情况,同时还可以记录用户活动和进程性能。

随着SAR的使用越来越广泛,很多Linux系统管理员开始使用SAR来监视他们的生产服务器,并根据SAR的结果来进行性能优化。然而,在使用SAR的过程中,用户常常需要花费大量的时间来整合和分析数据,尤其是在处理时间序列数据的大型数据集上。于是便出现了一种带有交互式终端界面的新工具:LinuxSAR(sarstat和sarus)。LinuxSAR去掉了SAR中繁琐重复的表格,提供了简单的图形化用户界面,并且可以轻松地对保存在磁盘上的历史数据进行分析。

二、LinuxSAR的使用

在Linux系统中,SAR和LinuxSAR是非常重要的系统性能分析工具。SAR既可以实现服务器运行状态的实时监测,又可以记录服务器运行性能历史数据,而LinuxSAR则提供了一个交互式的用户界面,更加简单、直观地显示历史数据和图表。

使用LinuxSAR工具通常需要安装它,安装完成后则可以运行sarstat命令查看当前服务器的性能数据。如果需要查看以前的记录,可以使用下面这个命令:

“`

sar -f /var/log/sysstat/sa10

“`

上述命令将读取/var/log/sysstat/sa10文件,该文件包含了系统的历史性能记录,并在终端上显示数据。

三、LinuxSAR的演变

随着Linux的非常迅速地发展,LinuxSAR也不断地进行进化,在支持新的Linux内核版本、新的硬件及系统架构的同时提供新功能。例如,LinuxSAR 1.7.1版本引入了这个工具的新功能“art”:它可以动态地更新执行sar命令时的延迟时间,以获得更高的时间分辨率。另一个新的功能是“alsa”,它支持扬声器的原生访问,并且支持更多的音频格式。LinuxSAR最新版本的功能在很大程度上应用于现代IT基础架构中的虚拟化和容器化的环境。例如它支撑了容器环境下各个实例的性能和相应业务场景的统计和分析。

四、结论

LinuxSAR在Linux历程中的功劳可谓是不可或缺的。它可以轻松地获取系统性能数据扩展,支持新的系统版本和硬件等,同时还提供了一个交互式的图形化界面来分析和显示历史数据。不仅如此,LinuxSAR还可以快速的定位Linux服务器性能问题,并提供了优化建议,有助于提高Linux服务器的性能。因此,LinuxSAR是服务器性能监测和优化工作中的一个关键工具。

相关问题拓展阅读:

linux 中cpu idel 是怎么被统计出来的?

1.CPU

CPU是linux主机的核心硬件,根据CPU型号在编译时优化以获得更佳棚吵性能。在/枣枯etc/profile文件中,含有系统环境和启动程序的配置信息,采用-O9 来编译程序时,运行速度也是最快的。编译时使用-fomit-frame-poinetr选项,程序运行时访问变量会使用堆栈。使用-mcpu=cpu-type和 -march= cpu-type时,gcc会对针凳和洞对CPU型号进行优化。

如果CPU是Pentium Pro、PentiumⅡ、PentiumⅢ、AMD K6-2、K6-3、Althon,那么在“/etc/profile”加入:

CFLAGS=’-O9 -funroll-loops -ffast-math -malign-double -mcpu=pentiumpro

-march=pentiumpro -fomit-

frame-pointer -fno-exceptions’

如果CPU是Pentium 、Pentium MMX、AMD K5 、IDT、Cyrix,那么在“/etc/profile”加入:

export CFLAGS=-O3 -march=pentium -mcpu=pentium –

ffast-math -funroll-loops -fomit-frame-pointer –

fforce-mem -fforce-addr -malign-double -fno-exceptions

Linux在具有岩伏配高稳定性、可靠性的同时,具有很好的可伸缩性和扩展性,能够针对不同的应用和硬件环境调整,优化出满足当前应用需要的更佳性能。因此企业在维护Linux系统、进行系统调优时,了解系统性能分析工具是至关重要的。

在Linux下有很多系统性能分析工具,比较常见的有top、free、ps、time、timex、uptime等。下文将介绍几个较为重要的性能分析工具vmstat、iostat和sar及其使用。

用vmstat监视内存使用情况

vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存、进程、CPU活动进行监视。它是对系统的整体情况进行统计,不足之处是无法对某个进程进粗指行深入分析。

vmstat的语法如下:

vmstat >

其中,-V表示打印出版本信息;-n表示在周期性循环输出时,输出的头部信息仅显示一次;delay是两次输出之间的延迟时间;count是指按照这个时间间隔统计的次数。对于vmstat输出各字段的含义,可运行man vmstat查看。

用iostat监视I/O子系统情况

iostat是I/O statistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视。它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况。同vmstat一样,iostat也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析。

iostat的语法如下:

iostat > >

其中,-c为汇报CPU的使用情况;-d为汇报磁盘的使用情况;-k表示每秒按kilobytes字节显示数据;-t为打印汇报的时间;-v表示打印出版本信息和用法;-x device指定要统计的设备名称,默认为所有的设备;interval指每次统计间隔的时间;count指按照这个时间间隔统计的次数。

iostat一般的输出格式如下:

Linux 2.4.18-18p (builder.linux.com) 2023年03月07日

avg-cpu: %user %nice %sys %idle

4.81 0.01 1.03 94.15

Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn

dev3-0 30..68 846.197374

dev3-1 7.06 229.61 40.080

对于输出中各字段的含义,iostat的帮助中有详细的说明。

使用sar进行综合分析

表1 sar参数说明

选项 功能

-A 汇总所有的报告

-a 报告文件读写使用情况

-B 报告附加的缓存的使用情况

-b 报告缓存的使用情况

-c 报告厅散系统调用的使用情况

-d 报告磁盘的使用情况

-g 报告串口的使用情况

-h 报告关于buffer使用的统计数据

-m 报告IPC消息队列和信号量的使用情况

-n 报告命名cache的使用情况

-p 报告调页活动的使用情况

-q 报告运行队列和交换队列的平均长度

-R 报告进程的活动情况

-r 报告没有使用的内存页面和硬盘块

-u 报告CPU的利用率

-v 报告进程、i节点、文件和锁表状态

-w 报告系统交换活动状况

-y 报告TTY设备活动状况

sar是System Activity Reporter(系统活动情况报告)的缩写。顾名思义,sar工具将对系统当前的状态进行取样,然后通过计算数据和比例来表达系统的当前运行状态。它的特点是可以连续对系统取样,获得大量的取样数据;取样数据和分析的结果都可以存入文件,所需的负载很小。sar是目前Linux上最为全面的系统性能分析工具之一,可以从14个大方面对系统的活动进行报告,包括文件的读写情况、系统调用的使用情况、串口、CPU效率、内存使用状况、进程活动及IPC有关的活动等,使用也是较为复杂。

sar的语法如下:

sar t

它的含义是每隔t秒取样一次,共取样n次。其中-o file表示取样结果将以二进制形式存入文件file中。

另一种语法如下:

sar

含义是表示从file文件中取出数据,如果没有指定-f file,则从标准数据文件/var/adm/sa/sadd取数据,其中dd表示当前天。另外,-s time表示起始时间;-e time表示停止时间;-i sec表示取样的时间间隔,如果不指定则表示取文件中所有的数据。对于具体的选项参见表1。

一般它与-q和-u联合使用,以便对每个CPU的使用情况进行分析,比如运行如下命令:

sar -q -u 5 1

将输出如下:

Linux 2.4.18-18p (builder.linux.com) 2023年03月07日

09时46分16? CPU %user %nice %system %idle

09时46分21? all 0.20 0.00 0.00 99.80

09时46分16? runq-sz plist-sz ldavg-1 ldavg-5

09时46分21?.00 0.00

Average: CPU %user %nice %system %idle

Average: all 0.20 0.00 0.00 99.80

Average: runq-sz plist-sz ldavg-1 ldavg-5

Average:.00 0.00

由于sar命令太复杂,只有通过熟练使用才能了解每个选项的含义,对于sar输出中每个字段的含义运行man sar命令可以得到详细的解释。

linux查看网络io使用率

sar -n DEV

不带其他参数 看当天的盯绝伍网络IO 缺省取样时间为1秒,间隔为10分钟

加 -f /var/log/sa/saxx可察看某日的历史,xx为当月宏禅或上月的日期(day of the month)前提是改文件存在

察看即时IO用sar -n DEV表示取凯或样间隔为1秒,取样999次

具体字段的含义我就不醉赘述了

linuxsar历史的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linuxsar历史,LinuxSAR历史回顾:探究性能分析工具的演变之路,linux 中cpu idel 是怎么被统计出来的?,linux查看网络io使用率的信息别忘了在本站进行查找喔。


数据运维技术 » LinuxSAR历史回顾:探究性能分析工具的演变之路 (linuxsar历史)