sysstat工具-系统性能监控
#Linux #系统 sysstat是一个软件包,包含监测系统性能及效率的一组工具,比如:CPU使用率,硬盘和网络吞数据。这些数据可以用来判断系统是否正常运行
包含的工具有
iostat: 输入CPU统计信息和所有I/O设备的输入输出
- c
显示CPU使用情况
- d
显示磁盘使用情况
- N
显示磁盘阵列(LVM) 信息
- n
显示NFS 使用情况
- k
以 KB 为单位显示
- m
以 M 为单位显示
- t
报告每秒向终端读取和写入的字符数和CPU的信息
- V
显示版本信息
- x
显示详细信息
- p
[磁盘] 显示磁盘和分区的情况
internal
相邻的两次采样的间隔时间
mpstat: 关于CPU的详细信息
-P {cpu l ALL}
表示监控哪个 CPU, cpu 在 [0,cpu 个数 - 1] 中取值
internal
相邻的两次采样的间隔时间
count
采样的次数,count 只能和 delay 一起使用
mpstat -P ALL 2 10
pidstat: 关于运行中的进程/任务、CPU、内存等统计信息
-u
默认的参数,显示各个进程的cpu使用统计
-r
显示各个进程的内存使用统计
-d
显示各个进程的IO使用情况
-p
指定进程号
-w
显示每个进程的上下文切换情况
-t
显示选择任务的线程的统计信息外的额外信息
-T { TASK | CHILD | ALL }
这个选项指定了pidstat监控的。TASK表示报告独立的task,CHILD关键字表示报告进程下所有线程统计信息。ALL表示报告独立的task和task下面的所有线程。注意:task和子线程的全局的统计信息和pidstat选项无关。这些统计信息不会对应到当前的统计间隔,这些统计信息只有在子线程kill或者完成的时候才会被收集。
-V
版本号
-h
在一行上显示了所有活动,这样其他程序可以容易解析。
-I
在SMP环境,表示任务的CPU使用率/内核数量
-l
显示命令名和所有参数
sar: 保存并输出不同系统资源(CPU、内存、IO、网络、内核等)的详细信息 命令语法:
sar [options] [-A] [-o file] t [n]
-A
所有报告的总和。
-u
CPU利用率
-v
进程、I节点、文件和锁表状态。
-d
硬盘使用报告。
-r
没有使用的内存页面和硬盘块。
-g
串口I/O的情况。
-b
缓冲区使用情况。
-a
文件读写情况。
-c
系统调用情况。
-R
进程的活动情况。
-y
终端设备活动情况。
-w
系统交换活动。
-n
记录网络使用情况
-o
以二进制格式输出结果,指定文件名的话可以将结果保存至指定文件中
示例:
# 每隔一秒打印CPU信息
sar -u 1
# 每隔3秒打印内存信息
sar -r 3
# 查看历史日期的信息
sar -f /var/log/sa/sa12 -u # sa12表示12日的信息,-u则是CPU信息,还可以接-r内存,-A所有
# 查看今天历史时间的信息
sar -s 02:00:00 -e 03:00:00sadc: 系统活动数据收集器,用于收集sar工具的后端数据
sa1: 系统收集并存储sadc数据文件的二进制数据,与sadc配合使用
sa2: 配合sar工具使用,产生每日的摘要报告
sysstat: sysstat工具包的man帮助页面
nfsiostat: NFS的I/O统计信息
cifsiostat: CIFS的统计信息
cpu属性值说明: %user:CPU处在用户模式下的时间百分比。 %nice:CPU处在带NICE值的用户模式下的时间百分比。 %system:CPU处在系统模式下的时间百分比。 %iowait:CPU等待输入输出完成时间的百分比。 %steal:管理程序维护另一个虚拟处理器时,虚拟CPU的无意识等待时间百分比。 %idle:CPU空闲时间百分比。
disk属性值说明: 磁盘名称 device:磁盘名称 tps:每秒钟发送到的I/O请求数. Blk_read/s:每秒读取的block数. Blk_wrtn/s:每秒写入的block数. Blk_read:读入的block总数. Blk_wrtn:写入的block总数.
说明 rrqm/s: 每秒进行 merge 的读操作数目。即 rmerge/s wrqm/s: 每秒进行 merge 的写操作数目。即 wmerge/s r/s: 每秒完成的读 I/O 设备次数。即 rio/s w/s: 每秒完成的写 I/O 设备次数。即 wio/s rkB/s: 每秒读K字节数。是 rsect/s 的一半,因为每扇区大小为512字节。 wkB/s: 每秒写K字节数。是 wsect/s 的一半。 avgrq-sz: 平均每次设备I/O操作的数据大小 (扇区)。 avgqu-sz: 平均I/O队列长度。 rsec/s: 每秒读扇区数。即 rsect/s wsec/s: 每秒写扇区数。即 wsect/s r_await:每个读操作平均所需的时间,不仅包括硬盘设备读操作的时间,还包括了在kernel队列中等待的时间。 w_await:每个写操作平均所需的时间,不仅包括硬盘设备写操作的时间,还包括了在kernel队列中等待的时间。 await: 平均每次设备I/O操作的等待时间 (毫秒)。 svctm: 平均每次设备I/O操作的服务时间 (毫秒)。 %util: 一秒中有百分之多少的时间用于 I/O 操作,即被io消耗的cpu百分比
最后更新于