mirror of https://github.com/Black-Gold/Learn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
6.1 KiB
6.1 KiB
sar
说明
sar命令 System Activity Reporter是Linux下系统运行状态统计工具,它将指定的操作系统状态计数器显示到标准输出设备。sar工 具将对系统当前的状态进行取样,然后通过计算数据和比例来表达系统的当前运行状态。它的特点是可以连续对系统取样,获得大量的取 样数据。取样数据和分析的结果都可以存入文件,使用它时消耗的系统资源很小。源码
sar命令常用格式
sar [options] [-A] [-o file] t [n]
-A 显示所有的报告信息
-b 显示I/O速率
-B 显示换页状态
-c 显示进程创建活动
-d 显示每个块设备的状态
-e 设置显示报告的结束时间
-f 从指定文件提取报告
-i 设状态信息刷新的间隔时间
-P 报告每个CPU的状态
-R 显示内存状态
-u 显示CPU利用率
-v 显示索引节点,文件和其他内核表的状态
-w 显示交换分区状态
-x 显示给定进程的状态
* 间隔时间:每次报告的间隔时间(秒)
* 次数:显示报告的次数
配置文件目录:/etc/sysconfig
实例
sar -r # 查看内存和交换空间的使用率
: << comment
输出解释:
kbmemfree与kbmemused字段分别显示内存的未使用与已使用空间,后面跟着的是已使用空间的百分比(%memused字段)
kbbuffers与kbcached字段分别显示缓冲区与系统全域的数据存取量,单位为KB
comment
sar -o temp 60 10 # 观察系统部件10分钟,并对数据进行排序
sar -u 1 3 # 查看CPU利用率
: << comment
输出详解:
%user: 显示在用户级别(application)运行使用 CPU 总时间的百分比.
%nice: 显示在用户级别,用于nice操作,所占用CPU总时间的百分比.
%system:在核心级别(kernel)运行所使用 CPU 总时间的百分比.
%iowait:显示用于等待I/O操作占用CPU总时间的百分比.
%steal: 管理程序(hypervisor)为另一个虚拟进程提供服务而等待虚拟CPU的百分比.
%idle: 显示CPU空闲时间占用CPU总时间的百分比
comment
sar -v 1 3 # 查看inode、文件和其他内核表状态
: << comment
输出详解:
dentunusd: 目录缓存中未使用的缓存条目数
file-nr: 由系统使用的文件数
inode-nr: 由系统使用的inode数
pty-nr: 系统所使用的伪终端数
comment
sar -q # 查看平均负载
: << comment
输出详解:
runq-sz: 运行队列的长度(等待运行的进程数)
plist-sz:进程列表中进程(processes)和线程(threads)的数量
ldavg-1: 最后1分钟的系统平均负载
ldavg-5: 过去5分钟的系统平均负载
ldavg-15:过去15分钟的系统平均负载
comment
sar -R 1 5 # 查看内存状态
: << comment
输出详解:
frmpg/s :每秒钟系统释放的内存页数. 如果是负值,表示每秒钟被系统分配的内存页数.
bufpg/s :每秒钟系统分配多少内存页作为buffer使用. 如果是负值,表示系统在回收一定的buffer空间.
campg/s :每秒钟系统分配多少内存页作为bcached使用. 如果是负值,表示系统在回收一定的cached空间.
comment
sar -W # 查看页面交换情况
: << comment
输出详解:
pswpin/s Total number of swap pages the system brought in per second.
pswpout/s Total number of swap pages the system brought out per second.
comment
sar -w 1 5 # 任务创建和系统切换活动情况
: << comment
输出详解:
proc/s: 每秒创建的任务的总数.
cswch/s:每秒上下文切换的总数.
comment
sar -b 1 5 # I/O和传输速率统计
: << comment
输出详解:
tps: 每秒钟向物理设备发出请求(读与写)的总数
rtps: 每秒钟向物理设备发出读请求的总数
wtps: 每秒钟向物理设备发出写请求的总数
bread/s: 每秒从块设备中读取的数据总数
bwrtn/s: 每秒向块设备中写入的数据总数
comment
sar -B 1 5 # 输出paging信息
: << comment
输出详解:
pgpgin/s: 每秒从磁盘或SWAP置换到内存的字节数
pgpgout/s: 每秒从内存置换到磁盘或SWAP的字节数
fault/s: 每秒钟系统产生的缺页数,即主缺页与次缺页之和(major + minor)
majflt/s: 每秒钟产生的主缺页数
pgfree/s: 每秒被放入空闲队列中的页个数
pgscank/s: 每秒被kswapd扫描的页个数
pgscand/s: 每秒直接被扫描的页个数
pgsteal/s: 每秒钟从cache中被回收来满足内存需要的页个数
%vmeff: 每秒回收的页(pgsteal)占总扫描页(pgscank+pgscand)的百分比
缺页异常:
major(内存中没有需要的数据)
minor (内存中有这样的数据,单最先不是该进程的)
comment
sar -n DEV 1 1 # 此为查看lo、eth0接口网络信息,查看网络相关信息,可用参数为DEV、EDEV、SOCK、FULL
: << comment
输出详解:
IFACE:就是网络设备的名称
rxpck/s:每秒钟接收到的包数
txpck/s:每秒钟发送出去的包数目
rxbyt/s:每秒钟接收到的字节数
txbyt/s:每秒钟发送出去的字节数
rxcmp/s:每秒钟接收到的压缩包数目
txcmp/s:每秒钟发送出去的压缩包数目
txmcst/s:每秒钟接收到的多播包的包数目
如果使用EDEV输出详解:
rxerr/s:每秒钟接收到的损坏的包的数目
txerr/s:当发送包时,每秒钟发生的错误数
coll/s: 当发送包时,每秒钟发生的冲撞(collisions)数(这个是在半双工模式下才有)
rxdrop/s:由于缓冲区满,网络设备接收端,每秒钟丢掉的网络包的数目
txdrop/s:由于缓冲区满,网络设备发送端,每秒钟丢掉的网络包的数目
txcarr/s:当发送数据包时,每秒钟载波错误发生的次数
rxfram/s:在接收数据包时,每秒钟发生的帧对齐错误的次数
rxfifo/s:在接收数据包时,每秒钟缓冲区溢出错误发生的次数
txfifo/s:在发送数据包时,每秒钟缓冲区溢出错误发生的次数
如果使用SOCK输出详解:
totsck:被使用的socket的总数目
tcpsck:当前正在被使用于TCP的socket数目
udpsck:当前正在被使用于UDP的socket数目
rawsck:当前正在被使用于RAW的socket数目
ip-frag:当前的IP分片的数目
comment