admin

好用的linux监控小工具sar(cpu 内存 磁盘I/O 网卡流量)

admin linux服务 2020-10-15 1039浏览 0

sar使用汇总

yum -y install sysstat

sar常用选项

-b:报告I/O使用情况以及传输速率。(只适用于2.5及之前的内核,所以新内核有可能不支持这个选项)

-B:报告“页”使用情况

-c:报告进程创建情况

-d:报告每一个块设备的使用情况

(当你使用时,你会发现在DEV列有类似dev1-7格式的字符串,

其中1代表设备的主序号,n代表设备的从序号,

而且rd_sec/s列和wr_sec/s列的单位都是512bytes,也就是512B,也就是0.5KB)

-I:汇报中断情况

-n:汇报网络情况

-P:设定CPU

-q:汇报队列长度和负载信息

-r:汇报内存和交换区使用情况

-R:汇报内存情况

-u:汇报CPU使用情况

-v:汇报i节点、文件和其他内核表信息

-w:汇报系统上下文切换情况

-x:可以针对某个特定PID给出统计信息,

可以直接指定进程ID号;

也可以指定为SELF,这样就是检测sar进程本身;

如果设定为ALL,则表示汇报所有系统进程信息。

-X:汇报特定PID的子进程的信息

-y:设定TTY设备的信息。


CPU利用率查看

sar -p (默认查看为当天)
sar -u 1 5 (每隔一秒写入5次)

输出项说明:

CPU all 表示统计信息为所有 CPU 的平均值。

%user 显示在用户级别(application)运行使用 CPU 总时间的百分比。

%nice 显示在用户级别,用于nice操作,所占用 CPU 总时间的百分比。

%system 在核心级别(kernel)运行所使用 CPU 总时间的百分比。

%iowait 显示用于等待I/O操作占用 CPU 总时间的百分比。

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

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


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

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

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


内存利用率查看

sar -p 1 10
vmstat 1 10


sar命令使用详解(cpu 内存 磁盘I/O 网卡流量) 

 

可用内存=free+buffers+cached 已用内存:userd-buffers-cached


磁盘I/O使用情况查看

iostat -x 1 10

等同于sar -d 1 10


 

await表示平均每次设备I/O操作的等待时间(以毫秒为单位)。

svctm表示平均每次设备I/O操作的服务时间(以毫秒为单位)。

%util表示一秒中有百分之几的时间用于I/O操作。

对以磁盘IO性能,一般有如下评判标准:

正常情况下svctm应该是小于await值的,而svctm的大小和磁盘性能有关,CPU、内存的负荷也会对svctm值造成影响,过多的请求也会间接的导致svctm值的增加。

await值的大小一般取决与svctm的值和I/O队列长度以及I/O请求模式,如果svctm的值与await很接近,表示几乎没有I/O等待,磁盘性能很好,如果await的值远高于svctm的值,则表示I/O队列等待太长,系统上运行的应用程序将变慢,此时可以通过更换更快的硬盘来解决问题。

%util项的值也是衡量磁盘I/O的一个重要指标,如果%util接近100%,表示磁盘产生的I/O请求太多,I/O系统已经满负荷的在工作,该磁盘可能存在瓶颈。长期下去,势必影响系统的性能,可以通过优化程序或者通过更换更高、更快的磁盘来解决此问题。


网络流量情况分析

sar -n DEV 1 2

sar命令使用-n选项可以汇报网络相关信息,可用的参数包括:DEV、EDEV、SOCK和FULL。


如果你使用DEV关键字,那么sar将汇报和网络设备相关的信息,如lo,eth0或eth1等,例如:


IFACE:就是网络设备的名称;

rxpck/s:每秒钟接收到的包数目

txpck/s:每秒钟发送出去的包数目

rxbyt/s:每秒钟接收到的字节数

txbyt/s:每秒钟发送出去的字节数

rxcmp/s:每秒钟接收到的压缩包数目

txcmp/s:每秒钟发送出去的压缩包数目

txmcst/s:每秒钟接收到的多播包的包数目


如果你使用SOCK关键字,则会针对socket连接进行汇报,例如:

$ sar -n SOCK 1 3

Linux 2.6.9 10/17/2009


tcpsck:当前正在被使用于TCP的socket数目

udpsck:当前正在被使用于UDP的socket数目

rawsck:当前正在被使用于RAW的socket数目

ip-frag:当前的IP分片的数目


如果你使用FULL关键字,相当于上述DEV、EDEV和SOCK三者的综合。


让sar在某个特定时间结束

sar 1 0 -e 15:00:00 > data.txt

//每隔1秒记录CPU的使用情况,直到15点,数据将保存到data.txt文件中。(-e 参数表示结束时间,注意时间格式:必须为hh:mm:ss格式)


sar 1 0 -r -e 15:00:00 > data.txt

//每隔1秒记录内存使用情况,直到15点,数据将保存到data.txt文件中。


sar 1 0 -n DEV -e 15:00:00 > data.txt

//每隔1秒记录网络使用情况,直到15点,数据将保存到data.txt文件中。


版权声明

本站《作品展示》类文章均为原创,转载必须注明出处,技术分享类文章部分来源于网络,版权归原作者所有,若侵权请留言。