sar收集系统信息

699 阅读4分钟

通过sar命令可以全面地获取系统的cpu,运行队列,磁盘I/O,分页(交换区),内存,cpu中断和网络性能数据。

Sar命令通过安装sysstat的包即可得到。yum -y install sysstat即可。

语法格式:

# sar  [option]  [interval]    [count]
#sar   选项    时间间隔   次数
#在sar命令及后面的选项里,每个元素之间都至少要有一个空格
# interval表示两次输出之间的间隔时间
# count表示按照interval指定的时间间隔统计的次数

查看系统cpu的整体负载状况

%user:用户进程消耗的cpu时间百分比
%nice:改变过优先级的进程占用的cpu时间百分比
%system:系统(内核)进程消耗的cpu时间百分比
%iowait:IO等待所占用的cpu时间百分比
%steal:虚拟机强制cpu等待的时间百分比
%idle:cpu处在空闲状态的时间百分比

显示运行队列的大小

以下是命令结果的详细说明。
# runq-sz:运行队列的长度(等待运行的进程数)。
# plist-sz:进程列表中进程(process)和线程(thread)的数量。
# ldavg-l:最后一分钟的系统平均负载(system load average)
# ldavg-5:过去5分钟的系统平均负载.
# ldavg-15:过去15分钟的系统平均负载.

显示系统内存的使用状况

#使用-r选项显示系统内存在采样时间内的使用状况

# kbmemfree:空闲物理内存量
# kbmemused:使用中的物理内存量
# %memused:物理内存量的使用率
# kbbuffers:内核中作为缓冲区使用的物理内存量
# kbcached:内核中作为缓存使用的物理内存容量
# kbcommit:应用程序当前使用的内存大小
# %commit:应用程序当前使用的内存大小占总大小的使用百分比

显示缓冲区的使用情况

以下是命令的详细说明:
# tps:每秒钟物理设备的I/O传输总量
# rtps:每秒钟从物理设备读入的数据总量
# wtps:每秒钟向物理设备写入的数据总量
#bread/s:每秒钟从物理设备读入的数据量,单位为块/s
#bwrtn/s:每秒钟向物理设备写入的数据总量,单位为块/s

显示网络的运行状态

使用-n DEV显示网络接口的信息

以下是命令结果的详细说明:
# IFACE:网络接口
#rxpck/s: 每秒钟接收的数据包
# txpck/s:每秒钟发送的数据包
# rxKB/s:每秒钟接收的字节数
# tsKB/s:每秒钟发送的字节数
# rxcmp/s:每秒钟接收的压缩数据包
# txcmp/s:每秒钟发送的压缩数据包
# rxmcst/s:每秒钟接收的多播数据包

使用-n EDEV显示网络错误的统计数据

以下是命令结果的详细说明:
# IFACE:网络接口
# rxerr/s:每秒钟接收的坏数据包
# txerr/s:每秒钟发送的坏数据包
# coll/s:每秒的冲突数
# rxdrop/s:因为缓冲满,每秒钟丢弃的已接收数据包数。
#txdrop/s:因为缓冲充满,每秒钟丢弃的已发送数据包数。
# txcarr/s:发送数据包时,每秒载波错误数
# rxfram/s:每秒接收数据包的帧对齐错误数
# rxfifo/s:接收的数据包每秒FIFO过速的错误数
# txfifo/s:发送的数据包FIFO过速的错误数

使用-n SOCK显示套接字信息

# totsck:使用的套接字总数量
# tcpsck:使用的TCP套接字数量
# udpsck:使用的UDP套接字数量
# rawsck:使用的raw套接字数量
# ip-frag:使用的IP段数量
# tcp-tw:处于TIME_WAIT状态的TCP套接字数量

查看系统磁盘的读写性能

使用-d选项显示系统所有硬盘设备在采样时间内的使用状况

# DEV:表示磁盘的设备名称
# tps:表示该设备每秒的传输次数,“一次传输”的意思是“一次I/O请求”,多个逻辑请求可能会被合并为“一次I/O请求”,“一次传输”请求的大小是未知的。
# rd_sec/s:表示每秒从设备读取的扇区数
# wr_sec/s: 表示每秒写入设备的扇区数目。
# avgrq-sz:设备平均每次I/O操作的数据大小(扇区)
# avgqu-sz:平均I/O队列长度
# await: 设备平均每次I/O操作的等待时间(毫秒)
# svctm:设备平均每次I/O操作的服务时间(毫秒)
# %util: 每秒钟用于I/O操作的百分比