linux sar命令

阅读数:191 评论数:0

跳转到新版页面

分类

Linux

正文

一、概述

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

sar命令通常需要安装sysstat软件包才能使用。如果您的系统上没有安装sysstat,可以使用适合您的Linux发行版的包管理器来安装它。一旦安装了sysstat,您就可以使用sar命令来获取系统性能数据。

以下是一些常用的sar命令选项:

  • sar -u:显示CPU使用情况的报告,包括用户CPU使用率、系统CPU使用率、空闲CPU时间等。
  • sar -r:显示内存使用情况的报告,包括物理内存使用率、交换空间使用率等。
  • sar -n DEV:显示网络接口的报告,包括网络流量、数据包传输等。
  • sar -q:显示系统负载情况的报告,包括平均负载、运行队列长度等。

二、命令格式

请注意,sar命令通常需要以root用户或具有sudo权限的用户身份运行,以获取完整的系统性能数据。

1、基本语法

sar [options] [-A] [-o file] t [n]

t为采样间隔,n为采样次数,默认值是1;

-o file表示将命令结果以二进制格式存放在文件中,file 是文件名。

2、参数

-A 所有报告的总和
-d 输出每一个块设备的活动信息
-a 文件读写情况
-c 输出进程统计信息,每秒创建的进程数
-R 输出内存页面的统计信息
-y 终端设备活动情况
-w 输出系统交换活动信息
-u 输出CPU使用情况的统计信息
-v 输出inode、文件和其他内核表的统计信息
-r 输出内存和交换空间的统计信息
-b 显示I/O和传送速率的统计信息
-n -n参数很有用,它有6个不同的开关:DEV显示网络接口信息,EDEV显示网络错误的统计数据,NFS统计活动的NFS客户端的信息,NFSD统计NFS服务器的信息,SOCK显示套接字的信息,ALL显示所有5个开关。

三、常用方式

1. CPU资源监控

例如,每10秒采样一次,连续采样3次,观察CPU 的使用情况,并将采样结果以二进制形式存入当前目录下的文件test中,需键入如下命令:

sar -u -o test 10 3

屏幕显示如下:

17:06:16 CPU %user %nice %system %iowait %steal %idle

17:06:26 all 0.00 0.00 0.20 0.00 0.00 99.80

17:06:36 all 0.00 0.00 0.20 0.00 0.00 99.80

17:06:46 all 0.00 0.00 0.10 0.00 0.00 99.90

Average: all 0.00 0.00 0.17 0.00 0.00 99.83

输出项说明:

CPU all 表示统计信息为所有 CPU 的平均值。
%user 显示在用户级别(application)运行使用 CPU 总时间的百分比。
%nice 显示在用户级别,用于nice操作,所占用 CPU 总时间的百分比。
%system 在核心级别(kernel)运行所使用 CPU 总时间的百分比。
%iowait 显示用于等待I/O操作占用 CPU 总时间的百分比。
%steal

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

%idle  显示 CPU 空闲时间占用 CPU 总时间的百分比。

若 %iowait 的值过高,表示硬盘存在I/O瓶颈

若 %idle 的值高但系统响应慢时,有可能是 CPU 等待分配内存,此时应加大内存容量

若 %idle 的值持续低于1,则系统的 CPU 处理能力相对较低,表明系统中最需要解决的资源是 CPU 。

如果要查看二进制文件test中的内容,需键入如下sar命令:

sar -u -f test

2. inode、文件和其他内核表监控

例如,每10秒采样一次,连续采样3次,观察核心表的状态,需键入如下命令:

sar -v 10 3

屏幕显示如下:

17:10:49 dentunusd file-nr inode-nr pty-nr

17:10:59 6301 5664 12037 4

17:11:09 6301 5664 12037 4

17:11:19 6301 5664 12037 4

Average: 6301 5664 12037 4

输出项说明:

dentunusd 目录高速缓存中未被使用的条目数量
file-nr 文件句柄(file handle)的使用数量
inode-nr 索引节点句柄(inode handle)的使用数量
pty-nr  使用的pty数量

 

3. 内存和交换空间监控

例如,每10秒采样一次,连续采样3次,监控内存分页:

sar -r 10 3

输出项说明:

kbmemfree 这个值和free命令中的free值基本一致,所以它不包括buffer和cache的空间.
kbmemused 这个值和free命令中的used值基本一致,所以它包括buffer和cache的空间.
%memused 这个值是kbmemused和内存总量(不包括swap)的一个百分比.
kbbuffers和kbcached 这两个值就是free命令中的buffer和cache.
kbcommit 保证当前系统所需要的内存,即为了确保不溢出而需要的内存(RAM+swap).
%commit  这个值是kbcommit与内存总量(包括swap)的一个百分比.

 

4. 内存分页监控

例如,每10秒采样一次,连续采样3次,监控内存分页:

sar -B 10 3

输出项说明:

pgpgin/s:表示每秒从磁盘或SWAP置换到内存的字节数(KB)

pgpgout/s:表示每秒从内存置换到磁盘或SWAP的字节数(KB)

fault/s:每秒钟系统产生的缺页数,即主缺页与次缺页之和(major + minor)

majflt/s:每秒钟产生的主缺页数.

pgfree/s:每秒被放入空闲队列中的页个数

pgscank/s:每秒被kswapd扫描的页个数

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

pgsteal/s:每秒钟从cache中被清除来满足内存需要的页个数

%vmeff:每秒清除的页(pgsteal)占总扫描页(pgscank+pgscand)的百分比

5. I/O和传送速率监控

例如,每10秒采样一次,连续采样3次,报告缓冲区的使用情况,需键入如下命令:

sar -b 10 3

屏幕显示如下:

18:51:05 tps rtps wtps bread/s bwrtn/s

18:51:15 0.00 0.00 0.00 0.00 0.00

18:51:25 1.92 0.00 1.92 0.00 22.65

18:51:35 0.00 0.00 0.00 0.00 0.00

Average: 0.64 0.00 0.64 0.00 7.59

输出项说明:

tps 每秒钟物理设备的 I/O 传输总量
rtps 每秒钟从物理设备读入的数据总量
wtps 每秒钟向物理设备写入的数据总量
bread/s 每秒钟从物理设备读入的数据量,单位为 块/s
bwrtn/s 每秒钟向物理设备写入的数据量,单位为 块/s

 

6. 进程队列长度和平均负载状态监控

例如,每10秒采样一次,连续采样3次,监控进程队列长度和平均负载状态:

sar -q 10 3

屏幕显示如下:

19:25:50 runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15

19:26:00 0 259 0.00 0.00 0.00

19:26:10 0 259 0.00 0.00 0.00

19:26:20 0 259 0.00 0.00 0.00

Average: 0 259 0.00 0.00 0.00

输出项说明:

runq-sz 运行队列的长度(等待运行的进程数)
plist-sz 进程列表中进程(processes)和线程(threads)的数量
ldavg-1 最后1分钟的系统平均负载(System load average)
ldavg-5 过去5分钟的系统平均负载
ldavg-15  过去15分钟的系统平均负载

 

7. 系统交换活动信息监控

例如,每10秒采样一次,连续采样3次,监控系统交换活动信息:

sar - W 10 3

屏幕显示如下:

19:39:50 pswpin/s pswpout/s

19:40:00 0.00 0.00

19:40:10 0.00 0.00

19:40:20 0.00 0.00

Average: 0.00 0.00

输出项说明:

pswpin/s 每秒系统换入的交换页面(swap page)数量
pswpout/s  每秒系统换出的交换页面(swap page)数量

 

8、查看网卡流量

sar -n DEV 1 4

每秒取一次值,取四次。

输出项说明:

rxpck/s 每秒钟接收的数据包。
txpck/s 每秒钟发送的数据包。
rxbyt/s 每秒钟接收的字节数。
txbyt/s 每秒种发慈禧太后的字节数。
rxcmp/s 每秒钟接收的压缩数据包。
txcmp/s 每秒钟发送的压缩数据包。
rxmcst/s  每秒钟接收的多播数据包。

 




相关推荐

一、概述 1、为什么Linus不使用GPLv3 在 PC 上,只要你得到了某个程序的源代码,就可以自行编译生成二进制程序,然后替换掉原有的二进制程序,你的程序自由很容易得到保证。然而 iPod、iPh

说明:这种方式只是用于方便阅读代码,因为可以在源代间快速索引跳跃。但是最后可能会有一些warning,可以不必关心,如果是强迫症,可以使用下面这种方式来去掉。

一、概述 在Linux系统中,/usr/bin和/usr/local/bin是两个常见的目录,用于存放可执行文件(二进制文件)。 很多应用都安装在/usr/local下面,先看一下automake工具

  一、概述 vmstat命令是最常见的Linux/Unix监控工具,可以监控给定时间间隔服务器的CPU使用率、内存使用、IO情况。相比top命令,可以查看到整个机器的CPU、内存、IO的使用情况,而

一、简介 简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。 二、使用方法 1、基本语法  awk '条件类型1 {动作1} 条件类型2{动作2} ...

一、概述 列出目标目录中所有的子目录和文件。 二、 语法 ls [选项] [目录名] -a, –all 列出目录下的所有文件,包括以 . 开头的隐含文件 -A 同-a,但不列出“.”(表示当前目录)

一、概述 cd全称是change directory,用于切换当前工作目录。 注意的是,cd命令是一个内建命令,它是由 shell 提供的。因此,不同的 shell 可能会有一些差异,但基本的用法和功

一、概述 全称为print working directory,查看”当前工作目录“的完整路径,一般情况下不带任何参数 二、语法 pwd [选项] -L 即logical,逻辑路径 -P 即

一、概述 通过 mkdir 命令可以实现在指定位置创建以 DirName(指定的文件名)命名的文件夹或目录。要创建文件夹或目录的用户必须对所创建的文件夹的父文件夹具有写权限。并且,所创建的文件夹(目录

一、概述 删除一个目录中的一个或多个文件或目录,如果没有使用- r选项,则rm不会删除目录。如果使用 rm 来删除文件,通常仍可以将该文件恢复原状。 删掉文件其实只是将指向数据块的索引点(inform