专注于快乐的事情

网络命令-sar

#sar

sar基本用法

sar

如果出现错误
Cannot open /var/log/sysstat/sa14: No such file or directory
直接使用sar就会查找历史文件,因为刚装还没有文件
14代表当天日期,使用参数-o 让其生成该文件
sar -o 14

查看某天的系统状态

sar -f /var/log/sysstat/sa14

默认情况是对过去时间段进行数据统计,一般从最近的0:00开始显示。如果想继续查看一天前的报告,可以用-f选项指定保存在/var/log/sysstat目录下的日志文件中。如果想周期性的查看当前数据可以命令后面加上数字参数,如sar 1 3 ,表示:1秒1次,共3次。

sar 1 3

1
2
3
4
5
6
7
Linux 4.4.0-47-generic (ubuntu) 	12/14/2016 	_x86_64_	(3 CPU)

11:31:33 PM CPU %user %nice %system %iowait %steal %idle
11:31:34 PM all 0.33 0.00 0.00 0.00 0.00 99.67
11:31:35 PM all 0.00 0.00 0.33 0.00 0.00 99.67
11:31:36 PM all 0.00 0.00 0.00 0.00 0.00 100.00
Average: all 0.11 0.00 0.11 0.00 0.00 99.78

参数

参数 解释
-A 等价于 -bBcdqrRuvwWy -I SUM -I XALL -n ALL -P ALL
-b 显示I/O和传送速率的统计信息
-B 输出内存页面的统计信息
-c 输出进程统计信息,每秒创建的进程数
-d 输出每一个块设备的活动信息
-i interval 指定间隔时长,单位为秒
-p 显示友好设备名字,以方便查看,也可以和-d 和-n 参数结合使用,比如 -dp 或-np
-q 输出进程队列长度和平均负载状态统计信息
-r 输出内存和交换空间的统计信息
-R 输出内存页面的统计信息
-t 读取 /var/log/sa/saDD 的数据时显示其中记录的原始时间,如果没有这个参数使用用户的本地时间
-u 输出CPU使用情况的统计信息
-v 输出inode、文件和其他内核表的统计信息
-V 输出版本号信息
-w 输出系统交换活动信息
-W 输出系统交换的统计信息
-y 输出TTY设备的活动信息
-n {DEV EDEV NFS NFSD SOCK ALL} 分析输出网络设备状态统计信息。
DEV 报告网络设备的统计信息
EDEV 报告网络设备的错误统计信息
NFS 报告 NFS 客户端的活动统计信息
NFSD 报告 NFS 服务器的活动统计信息
SOCK 报告网络套接字(sockets)的使用统计信息
ALL 报告所有类型的网络活动统计信息
-x {pid or SELF or ALL} 输出指定进程的统计信息。
-X {pid or SELF or ALL} 输出指定进程的子进程的统计信息
-I {irq or SUM or ALL orXALL} 输出指定中断的统计信息。
-P {cpu or ALL} 输出指定 CPU 的统计信息
-o filename 将输出信息保存到文件 filename
-f filename 从文件 filename 读取数据信息。filename 是使用-o 选项时生成的文件。
-s hh:mm:ss 指定输出统计数据的起始时间
-e hh:mm:ss 指定输出统计数据的截至时间,默认为18:00:00

用法汇总

sar –u 查看CPU使用率

sar -u

1
2
3
4
5
6
7
8
9
10
09时39分42秒       LINUX RESTART

09时40分01秒 CPU %user %nice %system %iowait %steal %idle
09时50分01秒 all 0.14 0.00 0.58 0.12 0.00 99.15
10时00分01秒 all 0.06 0.00 0.50 0.16 0.00 99.27
10时10分01秒 all 0.11 0.06 0.95 2.58 0.00 96.30
10时20分01秒 all 0.12 0.19 0.82 1.41 0.00 97.46
10时30分01秒 all 0.14 0.00 0.54 0.12 0.00 99.20
10时40分01秒 all 0.15 0.00 0.54 0.16 0.00 99.15
Average: all 0.12 0.04 0.65 0.76 0.00 98.43

这里:

%user : 用户模式下消耗的CPU时间的比例;

%nice:通过nice改变了进程调度优先级的进程,在用户模式下消耗的CPU时间的比例;

%system:系统模式下消耗的CPU时间的比例;

%iowait:CPU等待磁盘I/O而导致空闲状态消耗时间的比例;

%steal:利用Xen等操作系统虚拟化技术时,等待其他虚拟CPU计算占用的时间比例;

%idle:CPU没有等待磁盘I/O等的空闲状态消耗的时间比例;

注:

如果 %iowait 的值过高,表示硬盘存在I/O瓶颈
如果 %idle 的值高但系统响应慢时,有可能是 CPU 等待分配内存,此时应加大内存容量
如果 %idle 的值持续低于 10,则系统的 CPU 处理能力相对较低,表明系统中最需要解决的资源是 CPU。

sar –q 查看平均负荷

sar -q

1
2
3
4
5
6
7
8
9
10
11
09时39分42秒       LINUX RESTART

09时40分01秒 runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15
09时50分01秒 0 152 0.00 0.02 0.05
10时00分01秒 0 152 0.00 0.00 0.00
10时10分01秒 0 156 0.39 0.09 0.03
10时20分01秒 0 151 0.00 0.03 0.01
10时30分01秒 0 151 0.00 0.00 0.00
10时40分01秒 0 151 0.00 0.00 0.00
10时50分01秒 0 151 0.00 0.00 0.00
Average: 0 152 0.06 0.02 0.01

runq-sz: 运行队列的长度(等待运行的进程数)
plist-sz: 进程列表中进程(processes)和线程(threads)的数量
ldavg-1: 最后1分钟的系统平均负载(System load average)
ldavg-5: 过去5分钟的系统平均负载
ldavg-15: 过去15分钟的系统平均负载

sar –r 查看内存使用情况

sar -r

1
2
3
4
5
6
7
8
9
09时39分42秒       LINUX RESTART

09时40分01秒 kbmemfree kbmemused %memused kbbuffers kbcached kbswpfree kbswpused %swpused kbswpcad
09时50分01秒 481572 553492 53.47 35592 384508 2097144 0 0.00 0
10时00分01秒 480960 554104 53.53 36032 384512 2097144 0 0.00 0
10时10分01秒 404952 630112 60.88 77764 399432 2097144 0 0.00 0
10时20分01秒 375824 659240 63.69 87356 410892 2097144 0 0.00 0
10时30分01秒 371860 663204 64.07 87756 411064 2097144 0 0.00 0

kbmemfree:空闲物理内存量;

kbmemused:使用中的物理内存量;

%memused:物理内存量使用率;

kbbuffers:内核中作为缓冲区使用的物理内存容量;

kbcacheed:内核中作为缓存使用的物理内存容量;

kbswpfree:交换区的空闲容量;

kbswpused:使用中的交换区容量;

sar –W 查看页面交换发生状况

[root@localhost ~]# sar -W

1
2
3
4
5
6
7
14时30分01秒  pswpin/s pswpout/s
14时40分01秒 0.00 0.00
14时50分01秒 0.00 0.00
15时00分01秒 0.00 0.00
Average: 0.00 0.00


sar –b 查看I/O和传送速率的统计信息

[root@localhost ~]# sar -b 1 5

15时08分18秒 tps rtps wtps bread/s bwrtn/s
15时08分19秒 0.00 0.00 0.00 0.00 0.00
15时08分20秒 0.00 0.00 0.00 0.00 0.00
15时08分21秒 0.00 0.00 0.00 0.00 0.00
15时08分22秒 13.27 0.00 13.27 0.00 220.41
15时08分23秒 0.00 0.00 0.00 0.00 0.00
Average: 2.66 0.00 2.66 0.00 44.17

tps: 每秒钟物理设备的 I/O 传输总量
rtps: 每秒钟从物理设备读入的数据总量
wtps: 每秒钟向物理设备写入的数据总量
bread/s: 每秒钟从物理设备读入的数据量,单位为 块/s
bwrtn/s: 每秒钟向物理设备写入的数据量,单位为 块/s

sar -n DEV查看当前网卡流量状态

sar -n DEV 1 10 //每1秒显示1次,一共显示10次

-n 的其他参数
DEV 报告网络设备的统计信息
EDEV 报告网络设备的错误统计信息
NFS 报告 NFS 客户端的活动统计信息
NFSD 报告 NFS 服务器的活动统计信息
SOCK 报告网络套接字(sockets)的使用统计信息
ALL 报告所有类型的网络活动统计信息

1
2
3
Average:        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s   %ifutil
Average: lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: enp0s5 0.66 0.66 0.04 0.19 0.00 0.00 0.00 0.00
参数 解释
IFACE 网络设备名
rxpck/s 每秒接收的包总数
txpck/s 每秒传输的包总数
rxbyt/s 每秒接收的字节(byte)总数
txbyt/s 每秒传输的字节(byte)总数
rxcmp/s 每秒接收压缩包的总数
txcmp/s 每秒传输压缩包的总数
rxmcst/s 每秒接收的多播(multicast)包的总数

sar -n TCP,ETCP 1

sar -n TCP,ETCP 1

1
2
3
4
5
12:17:19 AM  active/s passive/s    iseg/s    oseg/s
12:17:20 AM 1.00 0.00 10233.00 18846.00

12:17:19 AM atmptf/s estres/s retrans/s isegerr/s orsts/s
12:17:20 AM 0.00 0.00 0.00 0.00 0.00

命令显示一些关键TCP指标的汇总。其中包括:
active/s:本地每秒创建的TCP连接数(比如concept()创建的)
passive/s:远程每秒创建的TCP连接数(比如accept()创建的)
retrans/s:每秒TCP重传次数。

主动连接数(active)和被动连接数(passive)通常可以用来粗略地描述系统负载。可以认为主动连接是对外的,而被动连接是对内的。

重传是网络或系统问题的一个信号;它可能是不可靠的网络(比如公网)所造成的,也有可能是服务器已经过载并开始丢包。

参考

http://blog.chinaunix.net/uid-25266990-id-2950467.html
http://blog.sina.com.cn/s/blog_3d5b39820101n6rk.html

评论系统未开启,无法评论!