网络流量负载情况监控

sar -n DEV  [interval]   [count]    # internal参数是统计间隔,count参数是统计次数

%title插图%num

执行会回显以上字段

IFACE:网络接口名称

rxpck/s、txpck/s: 每秒收或发的数据包数量

rxkB/s、txkB/s:每秒收或发的字节数,以kB/s为单位

rxcmp/s、txcmp/s:每秒收或发的压缩过的数据包数量

rxmcst/s:每秒收到的多播数据包

 

iftop的使用

iftop  [-i  interface]   # -i后跟的interface表示网络接口,若不指定则默认加测*块网卡使用情况

常用方法: iftop  -i  eth0  -P    # -P参数将会显示请求端口,可以看出流量较高的是哪个端口建立的链接

进入iftop界面后,可以通过按下相应的字母快捷按键,来对显示结果进行调整。

h:切换是否显示帮助。
n:切换显示本机的IP或主机名。
s:切换是否显示本机的host信息。
d:切换是否显示远端目标主机的host信息。
t:切换显示格式为2行、1行、只显示发送流量或只显示接收流量。
N:切换显示端口号或端口服务名称。
S:切换是否显示本机的端口信息。
D:切换是否显示远端目标主机的端口信息。
p:切换是否显示端口信息。
P:切换暂停或继续显示。
b:切换是否显示平均流量图形条。
B:切换计算2秒或10秒或40秒内的平均流量。
T:切换是否显示每个连接的总流量。
l:打开屏幕过滤功能,输入要过滤的字符。比如输入相应IP地址,回车后,屏幕就只显示这个IP相关的流量信息。
L:切换显示画面上边的刻度,刻度不同,流量图形条会有变化。
j或k:向上或向下滚动屏幕显示的连接记录。
1或2或3:根据右侧显示的三列流量数据进行排序。
<:根据左边的本机名或IP排序。
>:根据远端目标主机的主机名或IP排序。
o:切换是否固定只显示当前的连接。
f:编辑过滤代码。
!:调用shell命令。
q:退出

 

使用sar工具查看Linux实例各项资源使用情况

sar是System Activity Reporter(系统活动情况报告)的缩写。sar工具对系统状态进行取样后,通过计算数据和比例来表达系统当前的运行状态。其特点是可以连续对系统取样,获得大量的取样数据。其取样数据和分析结果可以存入文件,所需的负载很小。

sar是Linux系统中较为全面的性能分析工具,可以从多个方面对系统的活动进行监控和报告,包括文件读写情况、系统调用使用情况、串口、CPU效率、内存使用情况、进程活动及IPC有关的活动情况等等。

  1. yum install sysstat            #安装sar工具
  2. /etc/init.d/sysstat start      #启动服务

查看CPU负载

  1. sar -u 1 5
  2. Linux 3.10.0123.9.3.el7.x8664 (iZ23pddtofdZ)     07/04/2016     _x86_64    (1 CPU)
  3. 10:16:35 AM     CPU     %user     %nice   %system   %iowait    %steal     %idle
  4. 10:16:36 AM     all     14.14      0.00      1.01      0.00      0.00     84.85
  5. 10:16:37 AM     all     14.14      0.00      0.00      1.01      0.00     84.85
  6. 10:16:38 AM     all      0.00      0.00      1.01      0.00      0.00     98.99
  7. 10:16:39 AM     all      0.00      0.00      0.00      0.00      0.00    100.00
  8. 10:16:40 AM     all      1.00      0.00      0.00      0.00      0.00     99.00
  9. Average:        all      5.86      0.00      0.40      0.20      0.00     93.54

注:%user:用户模式下消耗的CPU时间比例。
%nice:通过nice改变了进程调度优先级的进程,在用户模式下消耗的CPU时间比例。
%system:系统模式下消耗的CPU时间比例。
%iowait:CPU等待磁盘I/O导致空闲状态消耗的时间比例。
%steal:利用Xen等操作系统虚拟化技术,等待其它虚拟CPU计算占用的时间比例。
%idle:CPU空闲时间比例。

查看平均负载

  1. sar -q 1 60
  2. Linux 3.10.0123.9.3.el7.x8664 (iZ23pddtofdZ)     07/04/2016     _x86_64    (1 CPU)
  3. 10:23:13 AM   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15   blocked
  4. 10:23:14 AM         0       142      0.00      0.01      0.05         0
  5. 10:23:15 AM         0       142      0.00      0.01      0.05         0
  6. 10:23:16 AM         0       142      0.00      0.01      0.05         0
  7. 10:23:17 AM         0       142      0.00      0.01      0.05         0
  8. 10:23:18 AM         0       142      0.00      0.01      0.05         0
  9. 10:23:19 AM         0       142      0.00      0.01      0.05         0
  10. Average:            0       142      0.00      0.01      0.05         0

注:指定-q参数后,可以查看运行队列中的进程数、系统上的进程大小、平均负载等信息。与其它命令相比,随时间变化查看各项指标的情况。

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

查看内存负载

  1. sar -r 1 3
  2. Linux 3.10.0123.9.3.el7.x8664 (iZ23pddtofdZ)     07/04/2016     _x86_64    (1 CPU)
  3. 10:27:34 AM kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit  kbactive  kbinact  kbdirty
  4. 10:27:35 AM    275992    740664     72.85    181552    315340    362052     35.61    471216   115828       60
  5. 10:27:36 AM    276024    740632     72.85    181552    315340    362052     35.61    471220   115828       64
  6. 10:27:37 AM    276024    740632     72.85    181552    315340    362052     35.61    471220   115828       64
  7. Average:       276013    740643     72.85    181552    315340    362052     35.61    471219   115828       63

注:kbmemfree:该值和free命令中的free值基本一致,它不包括buffer和cache空间。
kbmemused:该值和free命令中的used值基本一致,它包括buffer和cache空间。
%memused:物理内存使用率,该值是kbmemused和内存总量(不包括Swap内存)的百分比。
kbbuffers和kbcached:这两个值和free命令中的buffer和cache一致。
kbcommit:保证当前系统所需要的内存,即为了确保不溢出而需要的内存,即RAM加上Swap的内存。
%commit:该值是kbcommit与内存总量(包括Swap内存)的百分比。

查看页面交换发生的状况

  1. sar -W 1 3
  2. Linux 3.10.0-123.9.3.el7.x8664 (iZ23pddtofdZ) 07/04/2016 _x86_64 (1 CPU)
  3. 10:28:59 AM pswpin/s pswpout/s
  4. 10:29:00 AM 0.00 0.00
  5. 10:29:01 AM 0.00 0.00
  6. 10:29:02 AM 0.00 0.00
  7. Average: 0.00 0.00
  8. 注:pswpin/s:每秒从交换分区到系统的交换页面(Swap page)数量。
  9. pswpout/s:每秒从系统交换到Swap的交换页面(Swap page)的数量。

sar: 各参数说明

  1. sar命令的参数说明如下,注意区分大小写。
  2. -A:汇总所有的报告
  3. -a:报告文件读写使用情况
  4. -B:报告附加的缓存的使用情况
  5. -b:报告缓存的使用情况
  6. -c:报告系统调用的使用情况
  7. -d:报告磁盘的使用情况
  8. -g:报告串口的使用情况
  9. -h:报告关于buffer使用的统计数据
  10. -m:报告IPC消息队列和信号量的使用情况
  11. -n:报告命名cache的使用情况
  12. -p:报告调页活动的使用情况
  13. -q:报告运行队列和交换队列的平均长度
  14. -R:报告进程的活动情况
  15. -r:报告没有使用的内存页面和硬盘块
  16. -u:报告CPU的利用率
  17. -v:报告进程、i节点、文件和锁表状态
  18. -w:报告系统交换活动状况
  19. -y:报告TTY设备活动状况