sar命令详解

man手册:sar

名称

sar - 收集,报告,或者记录系统的运行状态信息

该命令属于sysstat包,使用该命令需要安装sysstat包

参数概要

sar [ -A ] [ -B ] [ -b ] [ -C ] [ -d ] [ -F ] [ -H ] [ -h ] [ -p ] [ -q ] [ -R ] [ -r ] [ -S ] [ -t ] [ -u [ ALL ] ] [ -V ] [ -v ] [ -W ]
[ -w ] [ -y ] [ -I { int [,...] | SUM | ALL | XALL } ] [ -P { cpu [,...] | ALL } ] [ -m { keyword [,...] | ALL } ] [ -n { keyword [,...]
| ALL } ] [ -j { ID | LABEL | PATH | UUID | ... } ] [ -f [ filename ] | -o [ filename ] | -[0-9]+ ] [ -i interval ] [ -s [ hh:mm:ss ] ] [ -e [ hh:mm:ss ] ] [ interval [ count ] ]

具体描述

sar命令将标准输出写入操作系统中所选累积活动计数器的内容。计数系统,基于value。在count和interval参数中,以指定的间隔(秒)间隔写入指 定次数的信息。如果是interval参数设置为零,sar命令显示自系统启动以来的平均统计信息。如果指定了interval参数而没有计数参数,然后连续生成 报告。收集的数据也可以保存在-o filename标志指定的文件中,除了在屏幕上播放。如果省略filename,则sar使用标准系统活动每日数据文件/ var / log / sa / sadd文件,其中dd参数指示当天。默认情况下,内核中可用的所有数据都保存在数据文件中。
sar命令提取并写入先前保存在文件中的标准输出记录。此文件可以是-f标志指定的文件,或者默认情况下,标准系统活动每日数据文件。也可以输入- 1,-2等作为sar的参数来显示那天前的数据。例如,-1将指向昨天的标准系统活动文件。
如果没有-P标志,sar命令将报告系统范围(所有处理器之间的全局)统计信息,这些统计信息的计算结果为以百分比表示的值的平均值 -年龄,否则 为总和。如果给出-P标志,则sar命令报告与指定处理器相关的活动。如果给出-P ALLsar命令报告所有处理器中每个处理器和全局统计信息的统计信息。
您可以使用标志选择有关特定系统活动的信息。不指定任何标志仅选择CPU活动。指定-A标志选择全部 可能的活动。
sar命令的默认版本(CPU利用率报告)可能是用户运行以开始系统活动调查的第一个工具之一,因为它监视主要系统资源。如果CPU利用率接近 100%(user + nice + system),则采样的工作负载受CPU限制。如果需要多个样本和多个报告,则可以方便地为sar命令指定输出文件。 运行sar 命令作为后台进程。这个语法是:`sar -o datafile interval count > /dev/null 2>&1 &`
所有数据都以二进制形式捕获并保存到文件(数据文件)中。 然后可以使用-f选项使用sar命令选择性地显示数据。 设置interval和count参数以间隔 秒间隔选择计数记录。 如果未设置count参数,则保存在文件中的所有记录都将是选择。 以这种方式收集数据对于表征一段时间内的系统使用情况并 确定峰值使用小时数非常有用。

使用方法

获取系统当前的状态:
sar -u 1 5

Linux 6.2.0-35-generic (kargobot)       2023年12月27日  _x86_64_        (16 CPU)

21时11分29秒     CPU     %user     %nice   %system   %iowait    %steal     %idle
21时11分30秒     all      0.50      0.00      0.37      0.06      0.00     99.06
21时11分31秒     all      0.25      0.00      0.38      0.00      0.00     99.37
21时11分32秒     all      0.19      0.00      0.25      0.00      0.00     99.56

获取cpu的状态每一秒打印一次,打印5次
从sar日志里获取当时的系统状态:
sar -u -f /var/log/sa/sa30
获取cpu的状态从sar日志的30号的日志文件里
明文日志即可视文本文档日志需要第二天才能生成前一天的日志,路径是/var/log/sa/sardd, 比如查看30号的明文日志 cat /var/log/sa/sar30

定时任务

安装sysstat包后会添加定时任务来记录系统运行信息,路径/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

每10分钟执行一次信息收集,线上一般修改为每1分钟抓取一次信息*/1 * * * * root /usr/lib64/sa/sa1 1 1

收集的系统运行信息日志路径/var/log/sa/${sa日期} ,每月循环一轮,不生成新文件

ubuntu系统和centos位置不一样,且需要开启

参数选项

  • -A 显示系统所有资源设备(CPU、内存、磁盘)的运行状况,等于-bBdFHqrRSuvwWy -I SUM -I XALL -m ALL -n ALL -u ALL -P ALL这一堆参数都带上了,基本不用。

  • -B 报告分页统计信息。将显示以下值:

    sar -B 1
    21时14分12秒  pgpgin/s pgpgout/s   fault/s  majflt/s  pgfree/s pgscank/s pgscand/s pgsteal/s    %vmeff
    21时14分13秒      0.00      0.00    138.00      0.00    143.00      0.00      0.00      0.00      0.00
    21时14分14秒      0.00      0.00    128.00      0.00    227.00      0.00      0.00      0.00      0.00
    21时14分15秒      0.00      0.00    164.00      0.00    124.00      0.00      0.00      0.00      0.00
    

    pgpgin/s: 系统每秒从磁盘分页的总千字节数。 pgpgout/s: 系统每秒分页到磁盘的总千字节数。

    fault/s: 系统每秒发生的页面错误数(主要+次要)。这不是生成I/O的页面错误计数,因为某些页面错误可以在没有I/O的情况下解 决。

    majflt/s: 系统每秒发生的主要故障数,即需要从磁盘加载内存页的主要故障数。 pgfree/s: 系统每秒在空闲列表中放置的页数。

    pgscank/s: 每秒由kswapd守护程序扫描的页数。

    pgscand/s: 每秒直接扫描的页数。

    pgsteal/s: 系统每秒从缓存(pagecache和swapcache)回收的页数,以满足其内存需求。

    %vmeff: 计算为pgsteal / pgscan,这是页面回收效率的度量。如果它接近100%,那么几乎每一页都会脱离正在收集非活动清单。 如果它太低(例如小于30%),则虚拟存储器有一些困难。显示该字段。如果在该时间间隔内没有扫描任何页面,则为零。

  • -b 报告I / O和传输速率统计信息。 将显示以下值:

    sar -b 1
    21时15分09秒       tps      rtps      wtps      dtps   bread/s   bwrtn/s   bdscd/s
    21时15分10秒     10.00      0.00     10.00      0.00      0.00    952.00      0.00
    21时15分11秒      0.00      0.00      0.00      0.00      0.00      0.00      0.00
    21时15分12秒      3.00      0.00      3.00      0.00      0.00    240.00      0.00
    

    tps: 发送到物理设备的每秒传输总数。 传输是对物理设备的I/O请求。多个逻辑请求可以组合成对设备的单个I / O请求。 转移的大小 不确定。

    rtps: 发给物理设备的每秒读取请求总数。

    wtps: 发给物理设备的每秒写入请求总数。

    bread/s: 以每秒块数从设备读取的数据总量。 块等同于扇区,因此具有512字节的大小。 bwrtn/s: 以每秒块数写入设备的数据总量。

  • -C 从文件中读取数据时,告诉sar显示sadc插入的注释,没用过。

  • -d 报告每个块设备的活动。显示数据时,通常使用设备规格dev m-n(DEV列)。 m是设备的主要编号,n是次要编号。如果使用选项-p,也可以打 印设备名称,如果使用选项-j,则可以打印持久性设备名称(见下文)。请注意,磁盘活动取决于要收集的sadc选项“-S DISK”和“-S XDISK”。一般和- p一起使用,block设备会显示成sdx或者lv。将显示以下值:

    sar -d 1
    21时16分51秒       DEV       tps     rkB/s     wkB/s     dkB/s   areq-sz    aqu-sz     await     %util
    21时16分52秒   nvme0n1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
    21时16分52秒      nbd0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
    
    21时16分52秒       DEV       tps     rkB/s     wkB/s     dkB/s   areq-sz    aqu-sz     await     %util
    21时16分53秒   nvme0n1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
    21时16分53秒      nbd0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
    

    tps: 指示发出给设备的每秒传输次数。可以将多个逻辑请求组合到设备的单个I/O请求中。转移的大小不确定。

    rd_sec/s: 从设备读取的扇区数。默认扇区的大小为512字节。

    wr_sec/s: 写入设备的扇区数。默认扇区的大小为512字节。

    avgrq-SZ: 发给设备的请求的平均大小(以扇区为单位)。

    avgqu-SZ: 发布到设备的请求的平均队列长度,队列越长,延时越高。

    await: 发送给要提供的设备的I/O请求的平均时间(以毫秒为单位)。这包括队列中的请求所花费的时间和服务他们的时间。

    svctm: 发出给设备的I/O请求的平均服务时间(以毫秒为单位)。该值不可信

    %until: 向设备发出I/O请求所经过的时间百分比(设备的带宽利用率)。当此值接近100%时,会发生设备饱和。在设备支持多层多 队列写入时,该值仅供参考

  • -e [hh:mm:ss] 设置报告的结束时间。默认结束时间是18:00:00。小时数必须以24小时格式提供。当从文件读取数据或将数据写入文件(选项-f或- o)时,可以使用此选项。没用过

  • -F [ MOUNT ] 显示当前挂载的文件系统的统计信息。伪文件系统将被忽略。在报告的最后,将显示sar所有这些文件系统的摘要。注意,文件系统统 计信息依赖于收集的sadc选项-S XDISK。使用MOUNT参数关键字表示将报告挂载点而不是文件系统设备。将显示以下值:不会用

  • -f [filename] 从文件名中提取记录(由-o filename标志创建)。 filename参数的默认值是当前的每日数据文件/ var / log / sa / sadd文件。 -f选项 不包括-o选项。

  • -H 报告hugepages利用率统计。主机overlay环境使用了hugepage,可以用该命令观察大页内存的使用信息。

    21时18分31秒 kbhugfree kbhugused  %hugused kbhugrsvd kbhugsurp
    21时18分32秒         0         0      0.00         0         0
    21时18分33秒         0         0      0.00         0         0
    21时18分34秒         0         0      0.00         0         0
    

    kbhugfree: 尚未分配的大页内存量(以千字节为单位)

    kbhugused: 已分配的大页内存量(以千字节为单位)。 %hugused: 已分配的hugepages占总内存的百分比。

  • -h 打印简短的帮助信息

  • -I { int [,...] | SUM | ALL | XALL } 查看报告中断的统计信息,int是中断号,使用逗号分隔符可以指定多个中断号(sar -I 1,2,3 1)。关键字SUM表示 每秒接收到的中断总数。ALL报告前16位中断统计,XALL显示全部中断号的统计,包括APIC的中断也会被包含。请注意,中断统计依赖于sadc选项“-S INT”来收集。

    sar -I ALL 1
    Linux 4.14.0-generic (HB1-BJMY2-COMCVK01)
    05:15:33 PM      INTR    intr/s
    05:15:34 PM         0      0.00
    05:15:34 PM         1      0.00
    05:15:34 PM         2      0.00
    05:15:34 PM         3      0.00
    05:15:34 PM         4      0.00
    05:15:34 PM         5      0.00
    05:15:34 PM         6      0.00
    05:15:34 PM         7      0.00
    05:15:34 PM         8      0.00
    05:15:34 PM         9      2.00
    05:15:34 PM        10      0.00
    05:15:34 PM        11      0.00
    05:15:34 PM        12      0.00
    05:15:34 PM        13      0.00
    05:15:34 PM        14      0.00
    05:15:34 PM        15      0.00
    

    INTR: 中断号

    intr/s: 每秒中断次数

  • -i interval 以尽可能接近 sec 秒的间隔选择数据。不会用

  • -j { ID | LABEL | PATH | UUID | ... } 显示持久设备名称。将此选项与选项-d结合使用。选项ID、LABEL等指定的类型持久的名字。这些选项不受限 制,唯一的先决条件是中存在所需持久名称的目录/dev/disk.如果没有找到设备的持久名称,设备名称就会被漂亮地打印出来(参见下面的选项-p)。没 用过

  • -m { keyword [,...] | ALL } 报告电源管理统计信息。注意,这些统计数据依赖于要收集的sadc选项“-S POWER”。主要的关键字有CPU,FAN,FREQ, IN,TEMP和USB。

  • -n { keyword [,...] | ALL } 报告网络统计信息,关键字包括:DEV, EDEV, NFS, NFSD, SOCK, IP, EIP, ICMP, EICMP, TCP, ETCP, UDP, SOCK6, IP6, EIP6, ICMP6, EICMP6 和 UDP6. 该参数很常用

    DEV选项是显示网卡的收发包统计信息,字段如下:

    IFACE:网卡名

    rxpck/s:每秒收到的包数

    txpck/s:每秒发送的包数

    rxkB/s:每秒收到的数据大小单位KBytes

    txkB/s:每秒发送的数据大小单位KBytes

    rxcmp/s:每秒收到的压缩数据包

    txcmp/s:每秒发送的压缩数据包

    rxmcst/s:每秒接收的多播数据包
    EDEV选项是显示网卡的错误包统计信息,字段如下:

    IFACE:网卡名

    rxerr/s:每秒钟接收到的损坏的数据包

    txerr/s:每秒钟发送的数据包错误数

    coll/s:当发送数据包时候,每秒钟发生的冲撞(collisions)数,这个是在半双工模式下才有.

    rxdrop/s:当由于缓冲区满的时候,网卡设备接收端每秒钟丢掉的网络包的数目

    txdrop/s:当由于缓冲区满的时候,网络设备发送端每秒钟丢掉的网络包的数目

    txcarr/s:当发送数据包的时候,每秒钟载波错误发生的次数

    rxfram/s:在接收数据包的时候,每秒钟发生的帧对其错误的次数

    rxfifo/s:在接收数据包的时候,每秒钟缓冲区溢出的错误发生的次数

    txfifo/s:在发生数据包的时候,每秒钟缓冲区溢出的错误发生的次数

    NFS是NFS客户端相关统计信息,字段如下:
    call/s:每秒的RPC请求数

    retrans/s:每秒的RPC超时重传次数

    read/s:每秒通过RPC调用的读取操作次数

    write/:每秒通过RPC调用的写操作次数

    access/s: 每秒RPC访问次数 getatt/s:每秒RPC获取属性次数

    NFSD是NFS服务端相关统计信息

    SOCK是套接字服务的统计信息,字段如下:

    totsck:系统总共使用了多少个套接字

    tcpsck:当前有多少个TCP套接字在使用

    udpsck:当前有多少个UDP套接字在使用

    rawsck:当前多少个RAW套接字在使用

    ip-frag:当前有多少个IP分段报文在队列里

    tcp-tw:当前有多少个TCP套接字处于TIME_WAIT状态

    IP选项显示IPv4网络传输的统计信息.

    EIP关键字报告IPv4网络错误的统计信息.

    关键字ICMP报告ICMPv4的网络传输统计信息.

    关键字EICMP报告ICMPv4的错误信息统计.

    关键字TCP报告TCPv4网络传输统计信息.

    关键字ETCP报告TCPv4网络错误统计信息.

    关键字UDP报告UDPv4网络传输统计信息.

  • -o [ filename ] 把输出的信息以二进制格式保存到指定文件,默认是写到/var/log/sa/sadd。

  • -P { cpu [,...] | ALL } 报告指定的任意CPU处理器的运行状态信息,也可以通过关键字ALL指定全部CPU,显示字段如下:

    sar -P ALL 1
    21时21分21秒     CPU     %user     %nice   %system   %iowait    %steal     %idle
    21时21分22秒     all      0.31      0.00      0.50      0.00      0.00     99.12
    21时21分22秒       0      1.00      0.00      0.00      0.00      0.00     99.00
    21时21分22秒       1      0.99      0.00      0.99      0.00      0.00     98.02
    21时21分22秒       2      0.00      0.00      1.01      0.00      0.00     98.99
    21时21分22秒       3      0.00      0.00      0.00      0.00      0.00     99.00
    21时21分22秒       4      0.00      0.00      0.00      0.00      0.00    100.00
    21时21分22秒       5      0.00      0.00      1.01      0.00      0.00     98.99
    21时21分22秒       6      0.00      0.00      0.00      0.00      0.00    100.00
    21时21分22秒       7      0.00      0.00      0.00      0.00      0.00    100.00
    21时21分22秒       8      0.00      0.00      0.00      0.00      0.00    100.00
    21时21分22秒       9      1.00      0.00      0.00      0.00      0.00     99.00
    21时21分22秒      10      1.90      0.00      4.76      0.00      0.00     93.33
    21时21分22秒      11      0.00      0.00      0.00      0.00      0.00    100.00
    21时21分22秒      12      0.00      0.00      0.00      0.00      0.00    100.00
    21时21分22秒      13      0.00      0.00      0.00      0.00      0.00    100.00
    21时21分22秒      14      0.00      0.00      0.00      0.00      0.00    100.00
    21时21分22秒      15      0.00      0.00      0.00      0.00      0.00    100.00
    

    %user: 用户程序占用的CPU时间百分比

    %nice: 显示在用户级别,用于nice操作所占用 CPU 总时间的百分比。

    %system: 系统调用占用的CPU时间百分比

    %iowait: I/O wait占用的CPU时间百分比

    %steal: 管理程序(hypervisor)为另一个虚拟进程提供服务而等待虚拟 CPU 的百分比。虚拟机内有意义,表示被其他虚拟机争抢CPU 时间。

    %idle: CPU空间的时间百分比

  • -p 更友好的打印设备名。一般是和 -d一起使用。默认打印设备名是/dev/主-副设备号,加上p参数就会打印成/dev里的设备名即sdx.名称映射的控制 在/etc/sysconfig/sysstat.ioconf里设备。

    # sar -dp 1 1
    21时22分04秒       tps     rkB/s     wkB/s     dkB/s   areq-sz    aqu-sz     await     %util DEV
    21时22分05秒      3.00      0.00     44.00      0.00     14.67      0.01      1.33      0.80 nvme0n1
    21时22分05秒      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00 nbd0
    
    21时22分05秒       tps     rkB/s     wkB/s     dkB/s   areq-sz    aqu-sz     await     %util DEV
    21时22分06秒      3.00      0.00     32.00      0.00     10.67      0.00      0.67      0.40 nvme0n1
    21时22分06秒      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00 nbd0
    
  • -q 报告队列长度和平均负载。很常用

    sar -q  1 3
    21时23分00秒   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15   blocked
    21时23分01秒         0      2844      0.01      0.11      0.19         0
    21时23分02秒         0      2844      0.01      0.11      0.19         0
    21时23分03秒         0      2844      0.01      0.11      0.19         0
    平均时间:         0      2844      0.01      0.11      0.19         0
    

    ldavg-1: 1分钟内系统平均负载。平均负载是runable、running的任务数(进程状态是R状态)和处于不可中断的状态待唤醒任务数(D状 态进程)。

    ldavg-5: 5分钟内系统平均负载

    ldavg-15: 15分钟内系统平均负载

    blocked: 当前处于等待I/O完成的任务,该值过多说明I/O性能差

  • -r 报告内存的使用统计。主要有以下字段,很常用

    # sar -r 1 3
    21时23分40秒 kbmemfree   kbavail kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit  kbactive   kbinact   kbdirty
    21时23分41秒    724136  13764040  17512596     53.76   1237416  11928220  47977656    147.28   9251836  20511868       324
    21时23分42秒    725900  13765804  17510832     53.76   1237416  11928220  47977628    147.28   9251836  20510176       340
    21时23分43秒    725900  13765804  17510832     53.76   1237416  11928220  47977628    147.28   9252048  20510228       340
    平均时间:    725312  13765216  17511420     53.76   1237416  11928220  47977637    147.28   9251907  20510757       335
    

    kbmemfree: free的内存,单位KB。这个值和free命令中的free值基本一致,所以它不包括buffer和cache的空间.

    kbmemused: used的内存,单位KB。不包括内核使用的内存。这个值和free命令中的used值基本一致,所以它包括buffer和cache的 空间.

    %memused: 这个值是kbmemused和内存总量(不包括swap)的一个百分比.

    kbbuffers: 内核用作缓冲区的内存,单位KB.就是free命令中的buffer.

    kbcached: 内核用于缓存数据的内存,单位KB,就是free命令中的cache.

    kbcommit: 保证当前系统所需要的内存,即为了确保不溢出而需要的内存(RAM+swap).

    %commit: 这个值是kbcommit与内存总量(包括swap)的一个百分比.这个值可以大于100%,因为内核允许overcommit内存(vm. overcommit_memory)。

    kbactive: 活跃内存,单位KB。最近使用过的且一般不会回收的内存,除非绝对必要的回收。 kbinact: 非活跃内存,单位KB。最近较少使用的内存,有可能被系统回收作其他用途)。 kbdirty: 脏页,即等待写入磁盘的内存(以千字节为单位),可以使用sync刷入硬盘

  • -S 报告SWAP的使用统计。主要有以下字段

    # sar -S 1 3
    21时24分34秒 kbswpfree kbswpused  %swpused  kbswpcad   %swpcad
    21时24分35秒         0         0      0.00         0      0.00
    21时24分36秒         0         0      0.00         0      0.00
    21时24分37秒         0         0      0.00         0      0.00
    平均时间:         0         0      0.00         0      0.00
    

    kbswpfree: 未使用的swap,单位KB

    kbswpused: 使用中的swap内存,单位KB

    %swpused: 使用中的swap内存占总swap的百分比

    kbswpcad: 被swap缓存的内存量,这部分内存曾经被换出,现在又被换入但仍然位于swap空间,单位KB。 %swpcad: kbswpcad占kbswpused的百分率

  • -s [ hh:mm:ss ] 设置数据的开始时间,使sar命令在指定的时间处或之后提取带有时间标记的记录。默认开始时间为08:00:00。工作时间必须以24小 时格式给出。该选项仅在读取数据时使用从文件(选项-f)。不会用

  • -t 从每日数据文件读取数据时,指示sar应该以数据的原始本地时间显示时间戳文件的创造者。如果没有此选项,sar命令将显示用户所在地区时间的 时间戳。没用过

  • -u [ ALL ] 报告cpu统计。ALL关键字可以打印全部CPU的信息。主要有以下字段:很常用

    # sar -u ALL 1 1
    21时25分36秒     CPU      %usr     %nice      %sys   %iowait    %steal      %irq     %soft    %guest    %gnice     %idle
    21时25分37秒     all      0.44      0.00      0.50      0.00      0.00      0.00      0.00      0.00      0.00     99.06
    21时25分38秒     all      0.13      0.00      0.38      0.00      0.00      0.00      0.00      0.00      0.00     99.50
    21时25分39秒     all      0.31      0.00      0.38      0.00      0.00      0.00      0.00      0.00      0.00     99.31
    平均时间:     all      0.29      0.00      0.42      0.00      0.00      0.00      0.00      0.00      0.00     99.29
    

    %user: 在用户态(应用程序)执行时的CPU总时间的百分比,该字段包括运行虚拟处理器的时间。 %usr: 在用户态(应用程序)执行时的CPU总时间的百分比,此字段不包括运行虚拟处理器的时间。

    %nice: 显示在用户级别,用于nice操作,所占用 CPU 总时间的百分比。

    %system: 系统(内核态)执行时发生的CPU使用率,该字段包括用于处理硬件和软件中断的时间。 %sys: 系统(内核态)执行时发生的CPU使用率,该字段不包括用于处理硬件和软件中断的时间。 %iowait: 显示用于等待I/O操作占用 CPU 总时间的百分比。

    %steal: 管理程序(hypervisor)为另一个虚拟进程提供服务而等待虚拟 CPU 的百分比。

    %irq: 硬中断占用的CPU时间百分比

    %soft: 软中断占用的CPU时间百分比

    %guest: 运行虚拟机的CPU使用率

    %gnice: 以低优先级运行虚拟机的CPU使用率

    %idle: 空闲CPU使用率

  • -V 打印版本号

  • -v 报告inode的状态,文件和其他内核表。主要有以下字段:

    sar -v 1 1
    Linux 3.10.0-1160.71.1.el7.x86_64 (development)
    11:34:10 AM dentunusd   file-nr  inode-nr    pty-nr
    11:34:11 AM     33464      1152     23856         2
    Average:        33464      1152     23856         2
    

    file-nr: 被系统使用的文件句柄数量 inoe-nr: 已经使用的索引数量 pty-nr: 使用的pty数量

  • -W 报告swap操作的统计,主要有以下字段:

    # sar -W 1 1
    Linux 3.10.0-1160.71.1.el7.x86_64 (development)
    02:34:24 PM  pswpin/s pswpout/s
    02:34:25 PM      0.00      0.00
    Average:         0.00      0.00
    

    pswpin/s: 每秒被系统置换进swap的页数,这个值不为0说明有内存(numa)不足了 pswpout/s: 每秒被系统从swap置换出的页数

  • -w 报告任务创建和系统上下文切换,这里的上下文切换不能反映是主动切换还是被动切换,需要结合pidstat去判断

    # sar -w 1 1
    Linux 3.10.0-1160.71.1.el7.x86_64 (development)
    

    proc/s: 每秒被创建的任务数 cswch/s: 每秒上下文切换数

  • -y 报告tty设备活动情况。主要有以下字段,没用过

posted @ 2023-12-10 17:16  ishmaelwanglin  阅读(692)  评论(0编辑  收藏  举报