【Linux】sysstat--系统性能监控神器(性能信息收集)--iostat、sar、top、htop

Linux Sysstat是一个用于收集系统性能数据的工具包,包含iostat、mpstat、sar等工具。sar是核心工具,可以进行即时查看和累计统计。iostat用于监控CPU和磁盘I/O,mpstat显示每个CPU的运行状况。安装sysstat后,通过配置cron任务定期收集数据。使用sar、iostat和mpstat等命令,可以分析CPU、内存、I/O等资源的使用情况,帮助诊断系统瓶颈。
摘要由CSDN通过智能技术生成

目录

sysstat 工具简介

包含的工具

安装

sar 的累计统计

sar

sar 的命令格式

sar 使用举例

iostat

iostat 的命令格式

iostat 使用举例

iostat 的输出项说明

mpstat

mpstat 的命令格式

mpstat 使用举例

mpstat 输出项说明


sysstat 工具简介

Linux Sysstat是linux系统免费提供用于收集主机性能的一个软件包,不是默认安装的,需要自己安装。

sysstat 是 Linux 系统中的常用工具包。它的主要用途是观察服务负载,比如CPU和内存的占用率、网络的使用率以及磁盘写入和读取速度等。

sysstat 工具包中包含两类工具:


即时查看工具:iostat、mpstat、sar

累计统计工具:sar

也就是说,sar 具有这两种功能。因此,sar 是 sysstat 中的核心工具。

包含的工具

  • iostat

    输出CPU的统计信息和所有I/O设备的输入输出(I/O)统计信息

  • mpstat

    关于CPU的详细信息(单独输出或者分组输出)

  • pidstat

    关于运行中的进程/任务、CPU、内存等的统计信息

  • sar

    保存并输出不同系统资源(CPU、内存、IO、网络、内核等)的详细信息

  • sadc

    系统活动数据收集器,用于收集sar工具的后端数据

  • sa1

    系统收集并存储sadc数据文件的二进制数据,与sadc工具配合使用

  • sa2

    配合sar工具使用,产生每日的摘要报告

  • sadf

    用于以不同的数据格式(CVS或者XML)来格式化sar工具的输出

  • sysstat

    sysstat 工具包的 man 帮助页面。

  • nfsiostat

    NFS(Network File System)的I/O统计信息

  • cifsiostat

    CIFS(Co

安装

  • CentOS

    通过yum安装:

    yum install sysstat

    或者通过rpm包安装:

    wget -c http://pagesperso-orange.fr/sebastien.godard/sysstat-11.7.3-1.x86_64.rpm
    
    sudo rpm -Uvh sysstat-11.7.3-1.x86_64.rpm

    推荐rpm包方式安装,因为能随时安装最新版本。

  • Ubuntu

    apt-get install sysstat

查看是否成功安装:

mpstat -V
sysstat version 9.0.4
(C) Sebastien Godard (sysstat <at> orange.fr)

sar 的累计统计

为了实现 sar 的累计统计,系统必须周期地记录当时的信息,这是通过调用 /usr/lib/sa/ 中的三个工具实现的:

  • sa1 :收集并存储每天系统动态信息到一个二进制的文件中,用作 sadc 的前端程序

  • sa2 :收集每天的系统活跃信息写入总结性的报告,用作 sar 的前端程序

  • sadc :系统动态数据收集工具,收集的数据被写入一个二进制的文件中,它被用作 sar 工具的后端

文档:https://download.csdn.net/download/bandaoyu/12532051 《sar和skar分析linux性能教程.doc》

定时统计任务

如果是用yumapt-get方式安装,默认已经在/etc/cron.d/sysstat中配置好了计划日志;如果是编译安装或没有,可以手动配置,内容大致如下:

# Run system activity accounting tool every 10 minutes
*/10 * * * * root  /usr/lib64/sa/sa1 1 1
# 0 * * * *  root  /usr/lib64/sa/sa1 600 6 &
# Generate a daily summary of process accounting at 23:53
53 23 * * * root  /usr/lib64/sa/sa2 -A(红色部分改为sa1和sa2实际所在地址,用yum和apt-get安装sysstat后可以用命令 man sa1和man sa2 或find / -name sa1可以查看其所在的实际地址)

统计的日志文件会存放在/var/log/sa这个目录下。每10分钟就进行一次日志的记录,在23:53对一天的日志进行汇总。

改为1分钟一次:*/1  * * * * root /usr/lib64/sa/sa1 1 1

  • /usr/lib64/sa/sa1是一个可以使用 cron 进行调度生成二进制日志文件的 shell 脚本
  • /usr/lib64/sa/sa2是一个可以将二进制日志文件转换为用户可读的编码方式的 shell 脚本

可能会碰到的问题:

安装后首次执行sar会报如下错误:

(看到在这:/var/log/sysstat/--------------------------------------------------sar log存放目录)

无法打开 /var/log/sa/sa25: 没有那个文件或目录

原因是安装完sysstat后,定时任务还没生成那个文件。此处的 25 指的是日期。可以手动生成文件:

(在守护进程 /etc/rc.d/init.d/sysstat 中使用 /usr/lib/sa/sadc -F -L - 命令创建当日记录文件,文件为 /var/log/sa/saDD,其中 DD 为当天的日期。)

sudo sar -o 5  #每5秒记录一条信息,生成当日文件saDD

sar

在使用 Linux 系统时,常常会遇到各种各样的问题,比如系统容易死机或者运行速度突然变慢,这时我们常常猜测:是否硬盘空间不足,是否内存不足,是否 I/O 出现瓶颈,还是系统的核心参数出了问题?这时,我们应该考虑使用 sar 工具对系统做一个全面了解,分析系统的负载状况。

sar(System Activity Reporter)是系统活动情况报告的缩写。sar 工具将对系统当前的状态进行取样,然后通过计算数据和比例来表达系统的当前运行状态。它的特点是可以连续对系统取样,获得大量的取样数据;取样数据和分析的结果都可以存入文件,所需的负载很小。 sar 是目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况、系统调用的使用情况、磁盘I/O、CPU效率、内存使用状况、进程活动及IPC有关的活动等。为了提供不同的信息,sar 提供了丰富的选项、因此使用较为复杂。

sar 的命令格式

sar 的命令格式为:

sar  [ -A ] [ -b ] [ -B ] [ -c ] [ -d ] [ -i interval ] [ -p ] [ -q ]
     [ -r ] [ -R ] [ -t ] [ -u ] [ -v ] [ -V ] [ -w ] [ -W ] [ -y ]
     [ -n { DEV | EDEV | NFS | NFSD | SOCK | ALL } ]
     [ -x { pid | SELF | ALL } ] [ -X { pid | SELF | ALL } ] 
     [ -I { irq | SUM | ALL | XALL } ] [ -P { cpu | ALL } ]
     [ -o [ filename ] | -f [ filename ] ]
     [ -s [ hh:mm:ss ] ] [ -e [ hh:mm:ss ] ] 
     [ interval [ count ] ]

其中:

  • interval : 为取样时间间隔

  • count : 为输出次数,若省略此项,默认值为 1

常用选项:

选项 说明
-A 等价于 -bBcdqrRuvwWy -I SUM -I XALL -n ALL -P ALL
-b 显示I/O和传送速率的统计信息
-B 输出内存页面的统计信息
-c 输出进程统计信息,每秒创建的进程数
-d 输出每一个块设备的活动信息
-i interval 指定间隔时长,单位为秒
-p 显示友好设备名字,以方便查看,也可以和-d 和-n 参数结合使用,比如 -dp 或-np
-q 输出进程队列长度和平均负载状态统计信息
-r 输出内存和交换空间的统计信息
-R 输出内存页面的统计信息
-t 读取 /var/log/sa/saDD 的数据时显示其中记录的原始时间,如果没有这个参数使用用户的本地时间
-u 输出CPU使用情况的统计信息
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值