sar命令
sar命令
sar:linux系统性能分析工具,可以分析Linux系统的文件系统读写情况、系统调用的使用情况、磁盘IO、CPU使用率、内存使用、进程活动等。
语法:sar 操作 -A -o file -t n
部分参数:
-o:以2进制格式记录至指定文件中
-A:所有采样报告的总和
-u:采样并输出CPU信息
-d:输出每个设备的活动信息
-r:内存与swap的统计信息
-b:显示IO与传送率的统计信息
-a:文件的读写情况
-c:进程统计情况,每秒创建的进程数目
-R:输出内存页的统计信息
-y:终端设备活动情况统计信息
-w:输出系统交换活动的统计信息
(1)设备使用情况监控
设备使用情况监控,显示设备名称而不用设备节点号,命令如下:
[root@localhost ~]# sar -d -p 1 1
结果说明:
DEV:设备名称
tps:每秒对物理磁盘I/O的次数
rd_sec/s:每秒读取扇区的次数
wr_sec/s:每秒写入扇区的次数
avgrq-sz:平均每次设备I/O操作的数据大小(扇区)
avgqu-sz:磁盘请求队列的平均长度
await:从请求磁盘操作到系统完成处理,每次请求所消耗的平均时间(含列等待时间),单位为毫秒
svctm:系统处理每次请求的平均时间,不包括请求在队列中所消耗的时间
%util:请求占CPU的百分比,此数越大,越代表设备带宽越饱和
(2)CPU信息输出与读取
对CPU使用情况每10秒采样1次,连续执行3次,并写入二进制文件cpu.txt中,之后查看此二进制文件cpu.txt。
命令:
[root@localhost home]# sar -u -o /home/cpu.txt -t 10 3
[root@localhost home]# sar -f /home/cpu.txt
结果说明:
CPU:所统计的CPU数,all为所有。
%user:显示user占用CPU百分比。
%nice:显示进程优先级占用CPU百分比。
%system:显示kernel函数(系统调用)占用CPU百分比。
%iowait:显示IO操作等待所占用的CPU百分比。
%steal:显示管理程序为虚拟进程提供服务而等待虚拟CPU所占用百分(xen)。
%idel:CPU闲置百分比报告生成时间。
(3)查看内存和swap
[root@localhost home]# sar -r 1 1
结果说明:
kbmemfree:与free 命令中的free值基本一致,不包括buffer和cache的空间。
kbmemused:与free命令中used值一致,包括buffer和cache所使用的值。
%memused:物理内存使用的百分比,不包含swap。
kbbuffer:等同free命令中的buffer值。
kbcache:等同free命令中的cache值。
kbcommit:确保系统(防止内存溢出)所需要的内存数量(物理内存+SWAP)。
%commit:需要内存数量与总内存(物理内存+swap)的百分比报告生成时间。
(4)内存分页监控
[root@localhost home]# sar -B 1 1
结果说明:
pgpgin/s :从磁盘或SWAP置换到内存每秒的KB数。
pgpgout/s :从内存置换到磁盘或SWAP每秒KB数。
fault/s :每秒钟系统产生的缺页数(主缺页+次缺页)之和(缺页:数据未在内存内)。
majflt/s :每秒钟产生的主缺页。
pgfree/s :每秒被放入空闲队列中的页个数。
pgscank/s :每秒被kswapd扫描(置换到swap)的页个数。
pgscand/s :每秒直接被扫描的页个数。
pgsteal/s :每秒钟从cache中清除出来满足内存需求的页个数。
%vmeff :每秒清除的页个数占总扫描页(pgscank/s+gpscand)个数的百分比报告生成时间。