`
younglibin
  • 浏览: 1211095 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

linux 中sar查看网络占用量

 
阅读更多

sar -n { DEV | EDEV | NFS | NFSD | SOCK | ALL }

 

sar 提供六种不同的语法选项来显示网络信息。-n选项使用6个不同的开关:DEV | EDEV | NFS | NFSD | SOCK | ALL 。DEV显示网络接口信息,EDEV显示关于网络错误的统计数据,NFS统计活动的NFS客户端的信息,NFSD统计NFS服务器的信息,SOCK显示套接字信息,ALL显示所有5个开关。它们可以单独或者一起使用。

 

 

sar(System Activity Reporter系统活动情况报告)是目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况、系统调用的使用情况、磁盘I/O、CPU效率、内存使用状况、进程活动及IPC有关的活动等。本文主要以CentOS 6.3 x64系统为例,介绍sar命令。

 

sar命令常用格式

sar [options] [-A] [-o file] t [n]

 

其中:

 

t为采样间隔,n为采样次数,默认值是1;

 

-o file表示将命令结果以二进制格式存放在文件中,file 是文件名。

 

options 为命令行选项,sar命令常用选项如下:

 

 

 

-A:所有报告的总和

 

-u:输出CPU使用情况的统计信息

 

-v:输出inode、文件和其他内核表的统计信息

 

-d:输出每一个块设备的活动信息

 

-r:输出内存和交换空间的统计信息

 

-b:显示I/O和传送速率的统计信息

 

-a:文件读写情况

 

-c:输出进程统计信息,每秒创建的进程数

 

-R:输出内存页面的统计信息

 

-y:终端设备活动情况

 

-w:输出系统交换活动信息

 

1. CPU资源监控

例如,每10秒采样一次,连续采样3次,观察CPU 的使用情况,并将采样结果以二进制形式存入当前目录下的文件test中,需键入如下命令:

 

sar -u -o test 10 3

 

屏幕显示如下:

 

17:06:16 CPU %user %nice %system %iowait %steal %idle

 

17:06:26 all 0.00 0.00 0.20 0.00 0.00 99.80

 

17:06:36 all 0.00 0.00 0.20 0.00 0.00 99.80

 

17:06:46 all 0.00 0.00 0.10 0.00 0.00 99.90

 

Average: all 0.00 0.00 0.17 0.00 0.00 99.83

 

输出项说明:

 

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 的值持续低于1,则系统的 CPU 处理能力相对较低,表明系统中最需要解决的资源是 CPU 。

 

如果要查看二进制文件test中的内容,需键入如下sar命令:

 

sar -u -f test

 

2. inode、文件和其他内核表监控

例如,每10秒采样一次,连续采样3次,观察核心表的状态,需键入如下命令:

 

sar -v 10 3

 

屏幕显示如下:

 

17:10:49 dentunusd file-nr inode-nr pty-nr

 

17:10:59 6301 5664 12037 4

 

17:11:09 6301 5664 12037 4

 

17:11:19 6301 5664 12037 4

 

Average: 6301 5664 12037 4

 

输出项说明:

 

dentunusd:目录高速缓存中未被使用的条目数量

 

file-nr:文件句柄(file handle)的使用数量

 

inode-nr:索引节点句柄(inode handle)的使用数量

 

pty-nr:使用的pty数量

 

3. 内存和交换空间监控

例如,每10秒采样一次,连续采样3次,监控内存分页:

 

sar -r 10 3

 

屏幕显示如下:

 

 

 

输出项说明:

 

kbmemfree:这个值和free命令中的free值基本一致,所以它不包括buffer和cache的空间.

 

kbmemused:这个值和free命令中的used值基本一致,所以它包括buffer和cache的空间.

 

%memused:这个值是kbmemused和内存总量(不包括swap)的一个百分比.

 

kbbuffers和kbcached:这两个值就是free命令中的buffer和cache.

 

kbcommit:保证当前系统所需要的内存,即为了确保不溢出而需要的内存(RAM+swap).

 

%commit:这个值是kbcommit与内存总量(包括swap)的一个百分比.

 

4. 内存分页监控

例如,每10秒采样一次,连续采样3次,监控内存分页:

 

sar -B 10 3

 

屏幕显示如下:

 

 

 

输出项说明:

 

pgpgin/s:表示每秒从磁盘或SWAP置换到内存的字节数(KB)

 

pgpgout/s:表示每秒从内存置换到磁盘或SWAP的字节数(KB)

 

fault/s:每秒钟系统产生的缺页数,即主缺页与次缺页之和(major + minor)

 

majflt/s:每秒钟产生的主缺页数.

 

pgfree/s:每秒被放入空闲队列中的页个数

 

pgscank/s:每秒被kswapd扫描的页个数

 

pgscand/s:每秒直接被扫描的页个数

 

pgsteal/s:每秒钟从cache中被清除来满足内存需要的页个数

 

%vmeff:每秒清除的页(pgsteal)占总扫描页(pgscank+pgscand)的百分比

 

5. I/O和传送速率监控

例如,每10秒采样一次,连续采样3次,报告缓冲区的使用情况,需键入如下命令:

 

sar -b 10 3

 

屏幕显示如下:

 

18:51:05 tps rtps wtps bread/s bwrtn/s

 

18:51:15 0.00 0.00 0.00 0.00 0.00

 

18:51:25 1.92 0.00 1.92 0.00 22.65

 

18:51:35 0.00 0.00 0.00 0.00 0.00

 

Average: 0.64 0.00 0.64 0.00 7.59

 

输出项说明:

 

tps:每秒钟物理设备的 I/O 传输总量

 

rtps:每秒钟从物理设备读入的数据总量

 

wtps:每秒钟向物理设备写入的数据总量

 

bread/s:每秒钟从物理设备读入的数据量,单位为 块/s

 

bwrtn/s:每秒钟向物理设备写入的数据量,单位为 块/s

 

6. 进程队列长度和平均负载状态监控

例如,每10秒采样一次,连续采样3次,监控进程队列长度和平均负载状态:

 

sar -q 10 3

 

屏幕显示如下:

 

19:25:50 runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15

 

19:26:00 0 259 0.00 0.00 0.00

 

19:26:10 0 259 0.00 0.00 0.00

 

19:26:20 0 259 0.00 0.00 0.00

 

Average: 0 259 0.00 0.00 0.00

 

输出项说明:

 

runq-sz:运行队列的长度(等待运行的进程数)

 

plist-sz:进程列表中进程(processes)和线程(threads)的数量

 

ldavg-1:最后1分钟的系统平均负载(System load average)

 

ldavg-5:过去5分钟的系统平均负载

 

ldavg-15:过去15分钟的系统平均负载

 

7. 系统交换活动信息监控

例如,每10秒采样一次,连续采样3次,监控系统交换活动信息:

 

sar -    W 10 3

 

屏幕显示如下:

 

19:39:50 pswpin/s pswpout/s

 

19:40:00 0.00 0.00

 

19:40:10 0.00 0.00

 

19:40:20 0.00 0.00

 

Average: 0.00 0.00

 

输出项说明:

 

pswpin/s:每秒系统换入的交换页面(swap page)数量

 

pswpout/s:每秒系统换出的交换页面(swap page)数量

 

8. 设备使用情况监控

例如,每10秒采样一次,连续采样3次,报告设备使用情况,需键入如下命令:

 

# sar -d 10 3 –p

 

屏幕显示如下:

 

17:45:54    DEV    tps    rd_sec/s    wr_sec/s    avgrq-sz    avgqu-sz    await    svctm    %util

 

17:46:04    scd0    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00

 

17:46:04    sda    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00

 

17:46:04    vg_livedvd-lv_root    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00

 

17:46:04    vg_livedvd-lv_swap    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00

 

其中:

 

参数-p可以打印出sda,hdc等磁盘设备名称,如果不用参数-p,设备节点则有可能是dev8-0,dev22-0

 

tps:每秒从物理磁盘I/O的次数.多个逻辑请求会被合并为一个I/O磁盘请求,一次传输的大小是不确定的.

 

rd_sec/s:每秒读扇区的次数.

 

wr_sec/s:每秒写扇区的次数.

 

avgrq-sz:平均每次设备I/O操作的数据大小(扇区).

 

avgqu-sz:磁盘请求队列的平均长度.

 

await:从请求磁盘操作到系统完成处理,每次请求的平均消耗时间,包括请求队列等待时间,单位是毫秒(1秒=1000毫秒).

 

svctm:系统处理每次请求的平均时间,不包括在请求队列中消耗的时间.

 

%util:I/O请求占CPU的百分比,比率越大,说明越饱和.

 

1. avgqu-sz 的值较低时,设备的利用率较高。

 

2. 当%util的值接近 1% 时,表示设备带宽已经占满。

 

要判断系统瓶颈问题,有时需几个 sar 命令选项结合起来

怀疑CPU存在瓶颈,可用 sar -u 和 sar -q 等来查看

 

怀疑内存存在瓶颈,可用 sar -B、sar -r 和 sar -W 等来查看

 

怀疑I/O存在瓶颈,可用 sar -b、sar -u 和 sar -d 等来查看

分享到:
评论

相关推荐

    Linux-SAR介绍

    "Linux-SAR介绍" SAR(System Activity Report)是一种用于收集和保存系统活动信息的工具。它可以连续对系统采样,获得大量的采样数据,并且采样数据和分析的结果都可以存入文件,而所需的负载很小。 SAR 由四个...

    linux sar命令的使用

    ### Linux下sar命令详解 #### 一、概述 在Linux环境下,`sar`(System Activity Reporter)是一款极其重要的性能监控工具。它能够收集并报告系统的各种活动数据,从而帮助系统管理员进行性能分析与故障排查。`sar`...

    Linux下sar工具使用

    Linux下的sar工具是一款强大的系统活动分析工具,它能够收集、报告和存储系统层面的各种性能数据,包括CPU利用率、内存使用情况、I/O吞吐量、网络活动等。sar工具是System Activity Reporter的简称,它是sysstat...

    Linux查看或统计网卡流量的方式详解.docx

    sar 命令是 sysstat 工具包中的一个命令,提供了基于网络接口的数据统计。sar 命令可以查看设备上每秒收发包的个数和流量。例如,sar -n DEV 1 2 命令将每秒读取一次网卡(默认 eth0)数据,并共读取两次,然后显示...

    linux内存中cache分析

    在Linux系统中,内存管理是操作系统的核心组成部分,它负责为各种进程分配和回收内存资源。在Linux内核中,内存的使用效率通过缓存(Cache)机制得到了显著提升。本篇文章将深入探讨Linux内存中的缓存分析,以及如何...

    linux实用工具,最流行管理工具

    1. **Nmap**:这是一款网络扫描工具,用于发现网络中的主机和服务,评估网络的安全性。 2. **Nessus**:作为一款商业化的漏洞扫描器,Nessus能够检测网络设备和应用程序的安全漏洞,帮助企业识别并修复潜在的安全...

    Linux 性能分析.pdf

    对于网络吞吐量的分析,可以使用netstat、ss等命令来查看网络连接状态、路由表信息、接口统计等。对于网络延迟的分析,可以使用ping命令检测数据包的往返时间。在网络性能分析中,还应该关注网络接口的接收和发送...

    Linux服务器中高负载现象故障排查指南.pdf

    在Linux服务器管理中,高负载现象是一个常见的问题,可能会影响服务器的性能和稳定性。本指南主要针对Linux服务器中出现的高负载问题,提供了故障排查的方法和步骤,旨在帮助系统管理员快速定位和解决此类问题。 ...

    Linux压力测试与LTP体系结构

    - **实时监测**:利用`top`、`sar`等工具实时监测系统资源的占用情况,以确保测试过程中系统资源得到有效利用。 - **性能指标**:包括但不限于CPU利用率、内存占用率、磁盘I/O吞吐量等。 - **异常检测**:观察系统在...

    Linux性能调优工具

    在现代IT环境中,Linux作为最流行的开源操作系统之一,在服务器领域扮演着极其重要的角色。随着云计算技术的发展,大量的虚拟化和容器技术使得Linux系统在资源管理和性能优化方面的需求日益增加。本文将详细介绍...

    Linux_CPU_Usage_Analysis

    在IT领域,Linux操作系统是广泛应用于服务器和各种设备的核心系统,其性能监控是运维工作中至关重要的环节。"Linux_CPU_Usage_Analysis"这个主题聚焦于分析Linux系统的CPU使用情况,这是理解和优化系统性能的关键。...

    关于linux性能监控的详细介绍

    Linux性能监控是优化系统效率和稳定性的关键环节,尤其在网络子系统方面,因为网络的抽象性和外部因素的不可控性,使得监控变得尤为复杂。在Linux中,性能监控的目标是发现系统的瓶颈,并通过调整系统参数来消除这些...

    Linux性能测试工具.docx

    仅在SUSE Linux中可用的网络监控工具,可视化网络流量,帮助识别网络带宽瓶颈。 10. **pmap** pmap用于显示进程的内存映射,包括虚拟地址空间的各个部分,如代码、数据、堆栈等,帮助理解进程的内存占用情况。 ...

    Linux实战型企业运维工程师试题测评 433页

    3. PHP-FPM进程占用高:在Linux系统中,如果NGINX配合PHP-FPM环境运行时PHP-FPM进程占用过高,可能是因为有大量PHP进程正在运行或存在内存泄漏。解决方法包括优化PHP配置、增加PHP-FPM进程数、重启PHP-FPM或检查PHP...

    linux性能测试、内存优化资料集

    在Linux系统中,性能测试和内存优化是提升系统效率、保证程序流畅运行的关键环节。这份“linux性能测试、内存优化资料集”包含了丰富的资源,帮助程序开发者深入理解Linux内核的工作原理,有效地诊断和解决系统性能...

    ECS Linux服务器带宽跑满时排查方法 .pdf

    在Linux系统中,网卡通常被命名为eth0、eth1等。可以通过sar命令来获取网卡级别的流量信息。这里提到的sar命令的使用格式是sar -n DEV 1 5,其中-n DEV表示监控网卡设备的状态,1和5分别表示每隔1秒采样一次,总共...

Global site tag (gtag.js) - Google Analytics