栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Linux命令--统计多项--sar--使用/教程/实例

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Linux命令--统计多项--sar--使用/教程/实例

原文网址:Linux命令--统计多项--sar--使用/教程/实例_IT利刃出鞘的博客-CSDN博客

简介

说明

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

        一般Linux没有默认安装此命令,需要手动安装。sar在sysstat包里,安装sysstat即可。

        第一次用sar命令会报如下错误:“无法打开 /var/log/sa/sa17: 没有那个文件或目录”。解决方案:命令:sar -o 17  // 这里的值17一般是当天的日期(我在2021年1月17日测试,所以这里是17)。这个错误是由于没有创建那个文件,可使用参数-o 让其生成。

格式

sar [ options ] [ [ ] ]

选项

选项

含义

-A显示系统所有资源设备(CPU、内存、磁盘)的运行状况。

-B

Paging statistics

-b

显示缓冲区在采样时间内的使用情况。(I/O and transfer rate statistics)

-d

显示系统所有硬盘设备在采样时间内的使用状态。(Block devices statistics)

-F [ MOUNT ]

Filesystems statistics

-H

Hugepages utilization statistics

-I { | SUM | ALL }

Interrupts statistics

-m { [,...] | ALL }

Power management statistics。

Keywords are:                              

CPU     CPU instantaneous clock frequency

FAN     Fans speed

FREQ    CPU average clock frequency

IN       Voltage inputs

TEMP    Devices temperature

USB     USB devices plugged into the system

-n { [,...] | ALL }

显示网络运行状态。Network statistics

Keywords are:

DEV     Network interfaces

EDEV    Network interfaces (errors)

NFS     NFS client

NFSD    NFS server

SOCK    Sockets (v4)

IP      IP traffic      (v4)

EIP     IP traffic      (v4) (errors)

ICMP    ICMP traffic    (v4)

EICMP   ICMP traffic    (v4) (errors)

TCP     TCP traffic     (v4)

ETCP    TCP traffic     (v4) (errors)

UDP     UDP traffic     (v4)

SOCK6   Sockets (v6)

IP6     IP traffic      (v6)

EIP6    IP traffic      (v6) (errors)

ICMP6   ICMP traffic    (v6)

EICMP6  ICMP traffic    (v6) (errors)

UDP6    UDP traffic     (v6)

FC      Fibre channel HBAs

SOFT    Software-based network processing

-P显示当前系统中指定 CPU 的使用情况。

-q

显示运行列表中的进程数、进程大小、系统平均负载等。Queue length and load average statistics

-r [ ALL ]

显示内存在采样时间内的使用情况。(Memory utilization statistics)

-S

Swap space utilization statistics

-u [ ALL ]

显示系统所有 CPU 在采样时间内的负载状态。

-v

显示 inode 节点、文件和其他内核表的统计信息。(Kernel tables statistics)

-W

显示系统交换活动在采样时间内的状态。Swapping statistics

-w

显示任务创建和系统切换的状态。(Task creation and system switching statistics)

-y

显示终端设备在采样时间的活动情况。(TTY devices statistics)

示例

命令

作用

sar -A

报告所有的信息

sar -u

cpu利用率

sar 2 5

每2s显示5次cpu的使用情况

关于cpu消耗的问题,一般通过jstack或者sar都可以解决,复杂的话需要借助于perf。

结果含义 示例1:CPU资源监控

法1:每 1 秒统计一次,统计 3 次

[root@lgh ~]# sar -u 1 3
Linux 2.6.32-696.el6.x86_64 (lgh)   10/06/2019      _x86_64_        (32 CPU)

09:42:45 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle
09:42:46 PM     all      0.00      0.00      0.00      0.00      0.00    100.00
09:42:47 PM     all      0.03      0.00      0.03      0.00      0.00     99.94
09:42:48 PM     all      0.03      0.00      0.03      0.00      0.00     99.94
Average:        all      0.02      0.00      0.02      0.00      0.00     99.96

法2:保存到文件

[root@lgh ~]# sar -o test.txt -u 1 3  #其中-o表示以二进制的格式把结果存入到test.txt文件中,不能使用cat,more,less等查看
[root@lgh ~]# sar -u -f test.txt   #查看该二进制结果文件
Linux 2.6.32-696.el6.x86_64 (lgh)   10/06/2019      _x86_64_        (32 CPU)

09:46:14 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle
09:46:15 PM     all      0.00      0.00      0.00      0.00      0.00    100.00
09:46:16 PM     all      0.03      0.00      0.03      0.00      0.00     99.94
09:46:17 PM     all      0.00      0.00      0.03      0.00      0.00     99.97
Average:        all      0.01      0.00      0.02      0.00      0.00     99.97

%user #用户空间的CPU使用
%nice 改变过优先级的进程的CPU使用率
%system 内核空间的CPU使用率
%iowait CPU等待IO的百分比
%steal 虚拟机的虚拟机CPU使用的CPU
%idle 空闲的CPU

在以上的显示当中,主要看%iowait和%idle,%iowait过高表示存在I/O瓶颈,即磁盘IO无法满足业务需求,如果%idle过低表示CPU使用率比较严重,需要结合内存使用等情况判断CPU是否瓶颈。

示例2:内存统计分析

每间隔1秒统计一次,总共统计3次

[root@lgh ~]# sar -r 1 3
Linux 2.6.32-696.el6.x86_64 (lgh)   10/06/2019      _x86_64_        (32 CPU)

10:01:15 PM kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit
10:01:16 PM 233550984  30597240     11.58    758212  20745900  14822388      5.44
10:01:17 PM 233550836  30597388     11.58    758212  20745900  14822388      5.44
10:01:18 PM 233551972  30596252     11.58    758212  20745900  14822388      5.44
Average:    233551264  30596960     11.58    758212  20745900  14822388      5.44

kbmemfree 空闲的物理内存大小
kbmemused 使用中的物理内存大小
%memused 物理内存使用率
kbbuffers 内核中作为缓冲区使用的物理内存大小,kbbuffers和kbcached:这两个值就是free命令中的buffer和cache.
kbcached 缓存的文件大小
kbcommit 保证当前系统正常运行所需要的最小内存,即为了确保内存不溢出而需要的最少内存(物理内存+Swap分区)
commit 这个值是kbcommit与内存总量(物理内存+swap分区)的一个百分比的值

示例3:磁盘使用情况

每间隔1秒统计一次,总共统计3次

[root@lgh ~]# sar -d 1 3
Linux 2.6.32-696.el6.x86_64 (lgh)   10/06/2019      _x86_64_        (32 CPU)

10:08:16 PM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
10:08:17 PM    dev8-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:08:17 PM  dev253-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:08:17 PM  dev253-1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

10:08:17 PM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
10:08:18 PM    dev8-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:08:18 PM  dev253-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:08:18 PM  dev253-1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

10:08:18 PM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
10:08:19 PM    dev8-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:08:19 PM  dev253-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:08:19 PM  dev253-1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

Average:          DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
Average:       dev8-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:     dev253-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:     dev253-1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

DEV 磁盘设备的名称,如果不加-p,会显示dev253-0类似的设备名称,因此加上-p显示的名称更直接
tps:每秒I/O的传输总数
rd_sec/s 每秒读取的扇区的总数
wr_sec/s 每秒写入的扇区的总数
avgrq-sz 平均每次次磁盘I/O操作的数据大小(扇区)
avgqu-sz 磁盘请求队列的平均长度
await 从请求磁盘操作到系统完成处理,每次请求的平均消耗时间,包括请求队列等待时间,单位是毫秒(1秒等于1000毫秒),等于寻道时间+队列时间+服务时间
svctm I/O的服务处理时间,即不包括请求队列中的时间
%util I/O请求占用的CPU百分比,值越高,说明I/O越慢 

示例4:网络分析
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/891203.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号