sysstat安装与使用

官方文档

http://sebastien.godard.pagesperso-orange.fr/documentation.html

sysstat安装

1.下载源码

https://github.com/sysstat/sysstat

2.编译安装

tar xvf sysstat-xxx.tar.gz
./configure
make -j 16
make install

3.测试

iostat

在这里插入图片描述

sysstat使用

sysstat 包包含许多商业单位共有的各种实用程序,用于监控系统性能和使用活动:

  • iostat报告设备、分区和网络文件系统的CPU统计和硬盘吞吐效率的数据。
  • mpstat报告单个或组合处理器相关的统计数据。
  • pidstat报告Linux任务 (进程) 的统计信息: I/O、CPU、内存等。
  • tapestat报告连接到系统的磁带驱动器的统计信息。
  • cifsiostat报告CIFS统计。
  • sysstat只是sysstat配置文件的手动页面,给出了sysstat命令使用的环境变量的含义。

sysstat还包含您可以通过 cron 或 systemd 计划收集和记录性能和活动数据的工具:

  • sar收集、报告和保存系统活动信息 (CPU、内存、磁盘、中断、网络接口、TTY、内核表等)。 # 数据统计核心工具
  • sadc是系统活动数据收集器,用作sar的后端。
  • sa1在系统活动每日数据文件中收集并存储二进制数据。它是sadc的前端,设计为从cron或systemd运行。
  • sa2撰写每日活动总结报告。它是从cron或systemd运行的sar的前端。
  • sadf以多种格式 (CSV、XML、JSON等) 显示由sar收集的数据,并可用于与其他程序的数据交换。该命令还可用于为sar使用SVG (可伸缩矢量图形) 格式收集的各种活动绘制图形。

性能及运行状况监控

1.iostat

iostat报告中央处理单元 (CPU) 统计信息以及设备和分区的输入/输出统计信息。 iostat命令用于通过观察设备活动时间与其平均传输速率的关系来监视系统输入/输出设备负载。iostat命令生成的报告可用于更改系统配置,以更好地平衡物理磁盘之间的输入/输出负载。

在这里插入图片描述

每一秒钟打印一次CPU状态,打印3次:

iostat -c 1 3

在这里插入图片描述

显示详细信息:

fakerth@fakerth:~$ iostat -x
Linux 4.19.0 (fakerth) 	08/07/23 	_x86_64_	(8 CPU)avg-cpu:  %user   %nice %system %iowait  %steal   %idle0.32    0.04    3.22    0.32    0.00   96.11Device            r/s     rkB/s   rrqm/s  %rrqm r_await rareq-sz     w/s     wkB/s   wrqm/s  %wrqm w_await wareq-sz     d/s     dkB/s   drqm/s  %drqm d_await dareq-sz     f/s f_await  aqu-sz  %util
loop0            0.07      1.20     0.00   0.00   15.05    18.31    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00    0.00    0.00   0.07
loop1            0.00      0.00     0.00   0.00    8.75     1.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00    0.00    0.00   0.00
loop10          19.77     20.10     0.00   0.00    5.45     1.02    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00    0.00    0.10   0.49
loop11           0.05      0.39     0.00   0.00   12.98     7.43    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00    0.00    0.00   0.06
loop12           0.07      1.20     0.00   0.00   18.78    16.28    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00    0.00    0.00   0.07
loop13           0.05      0.38     0.00   0.00    7.93     7.66    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00    0.00    0.00   0.04
loop14           0.01      0.01     0.00   0.00    6.60     1.60    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00    0.00    0.00   0.00
loop2            0.07      1.22     0.00   0.00   15.81    17.35    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00    0.00    0.00   0.07
loop3            0.07      1.19     0.00   0.00   14.56    17.31    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00    0.00    0.00   0.06
loop4            0.05      0.38     0.00   0.00   12.20     7.37    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00    0.00    0.00   0.06
loop5            0.06      0.39     0.00   0.00   42.72     6.92    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00    0.00    0.00   0.16
loop6            0.06      0.39     0.00   0.00    9.05     6.23    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00    0.00    0.00   0.05
loop7            0.07      1.21     0.00   0.00   17.89    17.29    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00    0.00    0.00   0.08
loop8            0.07      1.21     0.00   0.00   29.28    18.38    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00    0.00    0.00   0.11
loop9            0.07      1.22     0.00   0.00   18.62    17.67    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00    0.00    0.00   0.08
sda             21.94    897.87     3.34  13.20    5.71    40.93    5.32     40.23     1.37  20.45    4.42     7.57    0.00      0.00     0.00   0.00    0.00     0.00    0.00    0.00    0.13   5.44
sdb              0.11      2.37     0.00   0.00    9.35    21.21    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00    0.00    0.00   0.09
sr0              0.03      0.10     0.00   0.00   25.93     3.26    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00    0.00    0.00   0.07

iostat命令生成的第一个报告是 CPU 利用率报告。对于多处理器系统,CPU 值是所有处理器的全局平均值。该报告具有以下格式:

  • %user :显示在用户级别(应用程序)执行时发生的 CPU 利用率百分比。
  • %nice :显示在具有良好优先级的用户级别执行时发生的 CPU 利用率百分比。
  • %system :显示在系统级别(内核)执行时发生的 CPU 利用率百分比。
  • %iowait :显示系统有未完成的磁盘 I/O 请求期间一个或多个 CPU 空闲的时间百分比。
  • %steal :显示虚拟机管理程序为另一个虚拟处理器提供服务时,一个或多个虚拟 CPU 花费在非自愿等待上的时间百分比
  • %idle :显示一个或多个 CPU 空闲且系统没有未完成的磁盘 I/O 请求的时间百分比。

iostat命令生成的第二个报告是设备利用率报告。设备报告提供每个物理设备或分区的统计信息。可以在命令行上输入要显示统计信息的块设备和分区。如果没有输入设备或分区,则显示系统使用的每个设备的统计信息,并假设内核为其维护统计信息。如果全部在命令行中给出关键字,然后显示系统定义的每个设备的统计信息,包括那些从未使用过的设备。默认情况下,传输速率以 1K 块显示,除非设置了环境变量 POSIXLY_CORRECT,在这种情况下使用 512 字节块。该报告可能会显示以下字段,具体取决于所使用的标志(例如-x、-s和-k或-m):

Device:此列提供 /dev 目录中列出的设备(或分区)名称。 
tps:指示每秒向设备发出的传输数。传输是对设备的 I/O 请求。多个逻辑请求可以组合成对设备的单个 I/O 请求。传输的大小不确定。
Blk_read/s (kB_read/s, MB_read/s):指示每秒从设备读取的数据量,以块数(千字节、兆字节)表示。块相当于扇区,因此大小为 512 字节。  
Blk_wrtn/s (kB_wrtn/s, MB_wrtn/s):指示每秒写入设备的数据量,以块数(千字节、兆字节)表示。
Blk_dscd/s (kB_dscd/s, MB_dscd/s):指示设备丢弃的数据量,以每秒块数(千字节、兆字节)表示。
Blk_w+d/s (kB_w+d/s, MB_w+d/s):指示设备每秒写入或丢弃的数据量,以块数(千字节、兆字节)表示。
Blk_read (kB_read, MB_read):读取的块总数(千字节、兆字节)。 
Blk_wrtn (kB_wrtn, MB_wrtn):写入的块总数(千字节、兆字节)。
Blk_dscd (kB_dscd, MB_dscd):丢弃的块总数(千字节、兆字节)。
Blk_w+d (kB_w+d, MB_w+d):写入或丢弃的块总数(千字节、兆字节)。
r/s:设备每秒完成的读取请求数(合并后)。 
w/s:设备每秒完成的写入请求数(合并后)。
d/s:设备每秒完成的丢弃请求数(合并后)。
f/s:设备每秒完成的刷新请求数(合并后)。这对磁盘执行的刷新请求进行计数。不跟踪分区的刷新请求。在合并之前,刷新操作被计为写入。
sec/s (kB/s, MB/s):设备每秒读取、写入或丢弃的扇区数(千字节、兆字节)。
rsec/s (rkB/s, rMB/s):每秒从设备读取的扇区数(千字节、兆字节)。 
wsec/s (wkB/s, wMB/s):每秒写入设备的扇区数(千字节、兆字节)。
dsec/s (dkB/s, dMB/s):设备每秒丢弃的扇区数(千字节、兆字节)。
rqm/s:每秒合并并排队到设备的 I/O 请求数。
rrqm/s:每秒合并并排队到设备的读取请求数。 
wrqm/s:每秒合并并排队到设备的写入请求数。
drqm/s:每秒合并并排队到设备的丢弃请求数。
%rrqm:在发送到设备之前合并在一起的读取请求的百分比。
%wrqm:在发送到设备之前合并在一起的写入请求的百分比。
%drqm:在发送到设备之前合并在一起的丢弃请求的百分比。
areq-sz:向设备发出的请求的平均大小(以千字节为单位)。
rareq-sz:向设备发出的读取请求的平均大小(以千字节为单位)。
wareq-sz:向设备发出的写入请求的平均大小(以千字节为单位)。
dareq-sz:向设备发出的丢弃请求的平均大小(以千字节为单位)。
await:向要服务的设备发出 I/O 请求的平均时间(以毫秒为单位)。这包括请求在队列中花费的时间以及为它们提供服务所花费的时间。
r_await:向要服务的设备发出读取请求的平均时间(以毫秒为单位)。这包括请求在队列中花费的时间以及为它们提供服务所花费的时间。
w_await:向要服务的设备发出写入请求的平均时间(以毫秒为单位)。这包括请求在队列中花费的时间以及为它们提供服务所花费的时间。
d_await:向要服务的设备发出丢弃请求的平均时间(以毫秒为单位)。这包括请求在队列中花费的时间以及为它们提供服务所花费的时间。
f_await:向要服务的设备发出刷新请求的平均时间(以毫秒为单位)。块层结合刷新请求,一次最多执行一个。因此,刷新操作的时间可能会延长一倍:等待当前的刷新请求,然后执行它,然后等待下一个。
aqu-sz:向设备发出的请求的平均队列长度。
%util:向设备发出 I/O 请求所用时间的百分比(设备的带宽利用率)。对于串行服务请求的设备,当该值接近 100% 时,就会发生设备饱和。但对于并行处理请求的设备(例如 RAID 阵列和现代 SSD),该数字并不反映其性能限制。

2.mpstat

mpstat报告处理器相关统计信息。mpstat命令写入每个可用处理器的标准输出活动,处理器 0 是第一个。还报告了所有处理器的平均活动。

在这里插入图片描述

以两秒的间隔显示所有处理器中的五个全局统计信息报告:

mpstat 2 5 

在这里插入图片描述

以两秒的间隔显示所有处理器的五个统计信息报告:

mpstat -P all 2 5 

在这里插入图片描述

3.pidstat

pidstat命令用于监视当前由 Linux 内核管理的各个任务。

以两秒的间隔显示PID 2512 的五个 CPU 统计信息报告。

pidstat -p 2512 2 5

在这里插入图片描述

数据收集及统计

sar

sar收集、报告或保存系统活动信息。sar命令将操作系统中选定的累积活动计数器的内容写入标准输出。

每 2 秒报告 IRQ 14 的统计信息。显示 10 行。数据存储在名为 int14.file 的文件中:

sar -I --int=14 -o int14.file 2 10 

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/62374.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【css】属性选择器

有些场景中需要在相同元素中获取具有特定属性的元素&#xff0c;比如同为input&#xff0c;type属性有text、button&#xff0c;可以通过属性选择器设置text和button的不同样式。 代码&#xff1a; <style> input[typetext] {width: 150px;display: block;margin-bottom…

大连交通大学813软件工程考研习题

1.什么是软件生存周期模型?有哪些主要模型? 生存周期模型&#xff1a;描述软件开发过程中各种活动如何执行的模型。对软件开发提供强有力的支持&#xff0c;为开发过程中的活动提供统一的政策保证&#xff0c;为参与开发的人员提供帮助和指导&#xff0c;是软件生存周期模型…

An unexpected error has occurred. Conda has prepared the above report

今日在服务器上创建anaconda虚拟环境的时候&#xff0c;出现了如下报错 An unexpected error has occurred. Conda has prepared the above report 直接上解决方案 在终端中输入如下指令 conda config --show-sources 如果出现以下提示&#xff0c;说明多了一个文件 输入以下…

【网络安全】等保测评系列预热

【网络安全】等保测评系列预热 前言1. 什么是等级保护&#xff1f;2. 为什么要做等保&#xff1f;3. 路人甲疑问&#xff1f; 一、等保测试1. 渗透测试流程1.1 明确目标1.2 信息搜集1.3 漏洞探索1.4 漏洞验证1.5 信息分析1.6 获取所需1.7 信息整理1.8 形成报告 2. 等保概述2.1 …

激光与光电子学进展, 2023 | 非视域成像技术研究进展

注1&#xff1a;本文系“计算成像最新论文速览”系列之一&#xff0c;致力于简洁清晰地介绍、解读非视距成像领域最新的顶会/顶刊论文(包括但不限于 Nature/Science及其子刊; CVPR, ICCV, ECCV, SIGGRAPH, TPAMI; Light‑Science & Applications, Optica 等)。 本次介绍的论…

Java【Spring】使用注解, 更简单的存储和获取 Bean

文章目录 前言一、存储 Bean1, 配置文件2, 五大类注解Bean 的命名规则 3, 方法注解Bean 的命名规则 二、获取 Bean1, 属性注入2, Setter 注入3, 构造方法注入4, Autowired 和 Resource 的区别5, 同一个类型的多个 Bean 注入问题 总结 前言 各位读者好, 我是小陈, 这是我的个人主…

架构训练营学习笔记:5-2 负载均衡架构

多级负载架构 设计关键点 性能需求、维护复杂度之间做取舍。 一可以去掉F5、LVS &#xff1a; F5 是成本较高&#xff0c;LVS 是复杂&#xff0c;对于性能没那么高需求&#xff0c;可以去掉。 二 去掉ng: 服务网关服务 适应于初创公司快速验证&#xff0c;内部的 小系统…

【uniapp】uniapp打包H5(网页端):

文章目录 一、设置appid&#xff1a;二、设置router&#xff1a;三、打包&#xff1a;【1】[CLI 发行uni-app到H5&#xff1a;https://hx.dcloud.net.cn/cli/publish-h5](https://hx.dcloud.net.cn/cli/publish-h5)【2】HBuilderX 四、最终效果&#xff1a; 一、设置appid&…

Zebec Protocol ,不止于 Web3 世界的 “Paypal”

Paypal是传统支付领域的巨头企业&#xff0c;在北美支付市场占有率约为77%以上。从具体的业务数据看&#xff0c;在8月初&#xff0c;Paypal公布的2023年第二季度财报显示&#xff0c;PayPal第二季度净营收为73亿美元&#xff0c;净利润为10.29亿美元。虽然Paypal的净利润相交去…

buildroot使用介绍

buildroot是Linux平台上一个构建嵌入式Linux系统的框架。整个Buildroot是由Makefile脚本和Kconfig配置文件构成的。你可以和编译Linux内核一样&#xff0c;通过buildroot配置&#xff0c;menuconfig修改&#xff0c;编译出一个完整的可以直接烧写到机器上运行的Linux系统软件(包…

提速Rust编译器!

Nethercote是一位研究Rust编译器的软件工程师。最近&#xff0c;他正在探索如何提升Rust编译器的性能&#xff0c;在他的博客文章中介绍了Rust编译器是如何将代码分割成代码生成单元&#xff08;CGU&#xff09;的以及rustc的性能加速。 他解释了不同数量和大小的CGU之间的权衡…

[C语言]深入浅出,带你构建C语言宏观框架

导言&#xff1a; 本文章会带你基本了解C语言&#xff0c;对他有一个感性的认识&#xff0c;对其有一个框架&#xff0c;后期在对其进行更加细致的补充。 文章目录 C语言第一个函数变量局部变量 与 全局变量常量字符串 与 转义字符 头文件分支 与 循环注释数组关键字操作符宏指…