Linux查看网络即时网速

fping 是ping 工具的加强版本

  • 例出局域网中存活的主机 (Ubuntu apt-get装上  cnetos装不上)

zzx@zzx11:~$ fping -a 192.168.1.1/24 -g 2> /dev/null

查cpu和io     sar 1 3  或者iostat 1 3

查网络

sar -n DEV 1 100

rxpck/s : 每秒接收的数据包大小

txpck/s  : 每秒发送的数据包大小

zzx@zzx120:~$ sar -r 1 3    查内存

或者用Python脚本

$ wget https://raw.github.com/sivel/speedtest-cli/master/speedtest_cli.py
$ chmod a+rx speedtest_cli.py

[root@localhost c]# ./speedtest_cli.py   # 实测不准的  怎么可能到7M 家里宽带最多2M下载
Retrieving speedtest.net configuration...
Retrieving speedtest.net server list...
Testing from Guangdong Mobile (223.73.122.175)...
Selecting best server based on latency...
Hosted by Unicom-GZ (Guangzhou) [49.47 km]: 11.453 ms
Testing download speed........................................
Download: 7.87 Mbit/s
Testing upload speed..................................................
Upload: 7.81 Mbit/s

1代表一秒统计并显示一次
100代表统计一百次
使用ntop等工具,就更方便简单了,不过这个更灵活

P.S.

sar在sysstat包

一. CPU性能评估

1.vmstat  [-V]  [-n]  [depay  [count]]

-V : 打印出版本信息,可选参数

-n : 在周期性循环输出时,头部信息仅显示一次

delay : 两次输出之间的时间间隔

count : 按照delay指定的时间间隔统计的次数。默认是1

如:vmstat 1 3

user1@user1-desktop:~$ vmstat 1 3
         procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
        r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
        0  0      0 1051676 139504 477028    0    0    46    31  130  493  3  1 95  2
        0  0      0 1051668 139508 477028    0    0     0     4  377 1792  3  1 95  0
        0  0      0 1051668 139508 477028    0    0     0     0  327 1741  3  1 95  0

r : 运行和等待CPU时间片的进程数(若长期大于CPU的个数,说明CPU不足,需要增加CPU)【注意】

b : 在等待资源的进程数(如等待I/O或者内存交换等)

swpd : 切换到内存交换区的内存数量,单位kB

free : 当前空闲物理内存,单位kB

buff : buffers cache的内存数量,一般对块设备的读写才需要缓存

cache : page cached的内存数量,一般作为文件系统cached,频繁访问的文件都会被cached

si : 由磁盘调入内存,即内存进入内存交换区的数量

so : 内存调入磁盘,内存交换区进入内存的数量

bi : 从块设备读入数据的总量,即读磁盘,单位kB/s

bo : 写入到块设备的数据总量,即写磁盘,单位kB/s

in : 某一时间间隔中观测到的每秒设备中断数

cs : 每秒产生的上下文切换次数

us :用户进程消耗的CPU时间百分比【注意】

sy : 内核进程消耗CPU时间百分比【注意】

id : CPU处在空闲状态的时间百分比【注意】

wa :IO等待所占用的CPU时间百分比

如果si、so的值长期不为0,表示系统内从不足,需要增加系统内存

bi+bo参考值为1000,若超过1000,且wa较大,表示系统IO有问题,应该提高磁盘的读写性能

in与cs越大,内核消耗的CPU时间就越多

us+sy参考值为80%,如果大于80%,说明可能存在CPU资源不足的情况

综上所述,CPU性能评估中重点注意r、us、sy和id列的值。

2. sar  [options]  [-o  filename]  [interval  [count] ]

options:

-A :显示系统所有资源设备(CPU、内存、磁盘)的运行状态

-u : 显示系统所有CPU在采样时间内的负载状态

-P : 显示指定CPU的使用情况(CPU计数从0开始)

-d : 显示所有硬盘设备在采样时间内的使用状况

-r : 显示内存在采样时间内的使用状况

-b : 显示缓冲区在采样时间内的使用情况

-v : 显示进程、文件、I节点和锁表状态

-n : 显示网络运行状态。参数后跟DEV(网络接口)、EDEV(网络错误统计)、SOCK(套接字)、FULL(显示其它3个参数所有)。可单独或一起使用

-q : 显示运行队列的大小,与系统当时的平均负载相同

-R : 显示进程在采样时间内的活动情况

-y : 显示终端设备在采样时间内的活动情况

-w : 显示系统交换活动在采样时间内的状态

-o : 将命令结果以二进制格式存放在指定的文件中

interval : 采样间隔时间,必须有的参数

count : 采样次数,默认1

如:sar  -u  1 3

user1@user1-desktop:~$ sar -u 1 3
                           Linux 2.6.35-27-generic (user1-desktop)     2011年03月05日     _i686_    (2 CPU)

09时27分18秒     CPU     %user     %nice   %system   %iowait    %steal     %idle
                           09时27分19秒     all      1.99      0.00      0.50      5.97      0.00     91.54
                           09时27分20秒     all      3.90      0.00      2.93      5.85      0.00     87.32
                           09时27分21秒     all      2.93      0.00      1.46      4.39      0.00     91.22
                           平均时间:     all      2.95      0.00      1.64      5.40      0.00     90.02

%user : 用户进程消耗CPU时间百分比

%nice : 运行正常进程消耗CPU时间百分比
                           %system : 系统进程消耗CPU时间百分比

%iowait : IO等待多占用CPU时间百分比

%steal : 内存在相对紧张坏经下pagein强制对不同页面进行的steal操作

%idle : CPU处在空闲状态的时间百分比

3. iostat  [-c | -d]  [-k]  [-t]  [-x [device]]  [interval [count]]

-c :显示CPU使用情况

-d :显示磁盘使用情况

-k : 每秒以k bytes为单位显示数据

-t : 打印出统计信息开始执行的时间

-x device : 指定要统计的磁盘设备名称,默认为所有磁盘设备

interval : 制定两次统计时间间隔

count : 统计次数

如: iostat  -c

user1@user1-desktop:~$ iostat -c
            Linux 2.6.35-27-generic (user1-desktop)     2011年03月05日     _i686_    (2 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
                             2.51    0.02    1.27    1.40    0.00   94.81

(每项代表的含义与sar相同)

4. uptime ,如:(还有一个命令  w  )

user1@user1-desktop:~$ uptime
                          10:13:30 up  1:15,  2 users,  load average: 0.00, 0.07, 0.11

显示的分别是:系统当前时间,系统上次开机到现在运行了多长时间,目前登录用户个数,系统在1分钟内、5分钟内、15分钟内的平均负载

注意:load average的三个值一般不能大于系统CPU的个数,否则说明CPU很繁忙

二 . 内存性能评估

1.  free

2.  watch 与 free 相结合,在watch后面跟上需要运行的命令,watch就会自动重复去运行这个命令,默认是2秒执行一次,如:( watch free )

Every 2.0s: free                                        Sat Mar  5 10:30:17 2011

total       used       free     shared    buffers     cached
              Mem:       2060496    1130188     930308          0     261284     483072
              -/+ buffers/cache:     385832    1674664
              Swap:      3000316          0    3000316

(-n指定重复执行的时间,-d表示高亮显示变动)

3.使用vmstat,关注swpd、si和so

4. sar  -r,如:

user1@user1-desktop:~$ sar -r 2 3
                              Linux 2.6.35-27-generic (user1-desktop)     2011年03月05日     _i686_    (2 CPU)

10时34分11秒 kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit  %commit
                              10时34分13秒    923548   1136948     55.18    265456    487156   1347736     26.63
                              10时34分15秒    923548   1136948     55.18    265464    487148   1347736     26.63
                              10时34分17秒    923548   1136948     55.18    265464    487156   1347736     26.63
                              平均时间:    923548   1136948     55.18    265461    487153   1347736     26.63

kbmemfree : 空闲物理内存

kbmemused : 已使用物理内存

%memused : 已使用内存占总内存百分比

kbbuffers : Buffer Cache大小

kbcached : Page Cache大小

kbcommit : 应用程序当前使用内存大小

%commit : 应用程序使用内存百分比

三 . 磁盘I/O性能评估

1. sar -d ,如:

user1@user1-desktop:~$ sar -d 1 3
            Linux 2.6.35-27-generic (user1-desktop)     2011年03月05日     _i686_    (2 CPU)

10时42分27秒       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
            10时42分28秒    dev8-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

10时42分28秒       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
            10时42分29秒    dev8-0      2.00      0.00     64.00     32.00      0.02      8.00      8.00      1.60

10时42分29秒       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
            10时42分30秒    dev8-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

平均时间:       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
            平均时间:    dev8-0      0.67      0.00     21.33     32.00      0.01      8.00      8.00      0.53

DEV : 磁盘设备名称

tps : 每秒到物理磁盘的传送数,即每秒的I/O流量。一个传送就是一个I/O请求,多个逻辑请求可以被合并为一个物理I/O请求

rc_sec/s: 每秒从设备读入的扇区数(1扇区=512字节)

wr_sec/s : 每秒写入设备的扇区数目

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

avgqu-sz : 平均I/O队列的长度

await : 平均每次设备I/O操作的等待时间(毫秒)

svctm :平均每次设备I/O 操作的服务时间(毫秒)

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

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

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

%util若接近100%,表示磁盘产生I/O请求太多,I/O系统已经满负荷地在工作,该磁盘可能存在瓶颈。长期下去,势必影响系统的性能,可通过优化程序或者通过更换更高、更快的磁盘来解决此问题。


          2. iostat  -d

user1@user1-desktop:~$ iostat -d 2 3
              Linux 2.6.35-27-generic (user1-desktop)     2011年03月05日     _i686_    (2 CPU)

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
              sda               5.89       148.87        57.77    1325028     514144

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
              sda               0.00         0.00         0.00          0          0

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
              sda               0.00         0.00         0.00          0          0
           Blk_read/s : 每秒读取的数据块数

Blk_wrtn/s : 每秒写入的数据块数

Blk_read : 读取的所有块数

Blk_wrtn : 写入的所有块数

如果Blk_read/s很大,表示磁盘直接读取操作很多,可以将读取的数据写入内存中进行操作;如果Blk_wrtn/s很大,表示磁盘的写操作很频繁,可以考虑优化磁盘或者优化程序。这两个选项没有一个固定的大小,不同的操作系统值也不同,但长期的超大的数据读写,肯定是不正常的,一定会影响系统的性能。

3. iostat  -x  /dev/sda  2  3  ,对指定磁盘的单独统计

4. vmstat -d

四 . 网络性能评估

1. ping

time值显示了两台主机之间的网络延时情况,若很大,表示网络的延时很大。packets loss表示网络丢包率,越小表示网络的质量越高。

2. netstat  -i ,如:

user1@user1-desktop:~$ netstat -i
                     Kernel Interface table
                     Iface   MTU Met   RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
                     eth0       1500 0   6043239      0      0 0         87311      0      0      0 BMRU
                     lo        16436 0      2941      0      0 0          2941      0      0      0 LRU

Iface : 网络设备的接口名称

MTU : 最大传输单元,单位字节

RX-OK / TX-OK : 准确无误地接收 / 发送了多少数据包

RX-ERR / TX-ERR : 接收 / 发送数据包时产生了多少错误

RX-DRP / TX-DRP : 接收 / 发送数据包时丢弃了多少数据包

RX-OVR / TX-OVR : 由于误差而遗失了多少数据包

Flg :接口标记,其中:

L :该接口是个回环设备

B : 设置了广播地址

M : 接收所有的数据包

R :接口正在运行

U : 接口处于活动状态

O : 在该接口上禁用arp

P :表示一个点到点的连接

正常情况下,RX-ERR,RX-DRP,RX-OVR,TX-ERR,TX-DRP,TX-OVR都应该为0,若不为0且很大,那么网络质量肯定有问题,网络传输性能也一定会下降。

当网络传输存在问题时,可以检测网卡设备是否存在故障,还可以检查网络部署环境是否合理。

3. netstat -r  (default行对应的值表示系统的默认路由)

4. sar -n  ,n后为DEV(网络接口信息)、EDEV(网络错误统计信息)、SOCK(套接字信息)、和FULL(显示所有)

wangxin@wangxin-desktop:~$ sar -n DEV 2 3
                      Linux 2.6.35-27-generic (wangxin-desktop)     2011年03月05日     _i686_    (2 CPU)

11时55分32秒     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
                      11时55分34秒        lo      2.00      2.00      0.12      0.12      0.00      0.00      0.00
                      11时55分34秒      eth0      2.50      0.50      0.31      0.03      0.00      0.00      0.00

11时55分34秒     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
                      11时55分36秒        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
                      11时55分36秒      eth0      1.50      0.00      0.10      0.00      0.00      0.00      0.00

11时55分36秒     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
                      11时55分38秒        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
                      11时55分38秒      eth0     14.50      0.00      0.88      0.00      0.00      0.00      0.00

平均时间:     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
                      平均时间:        lo      0.67      0.67      0.04      0.04      0.00      0.00      0.00
                      平均时间:      eth0      6.17      0.17      0.43      0.01      0.00      0.00      0.00

IFACE : 网络接口设备

rxpck/s : 每秒接收的数据包大小

txpck/s  : 每秒发送的数据包大小

rxkB/s : 每秒接受的字节数

txkB/s : 每秒发送的字节数

rxcmp/s : 每秒接受的压缩数据包

txcmp/s : 每秒发送的压缩数据包

rxmcst/s : 每秒接受的多播数据包

查流量  nload  、iptraf

测网速 fping Linux查看网络即时网速 linux性能问题(CPU,内存,磁盘I/O,网络)的更多相关文章

  1. Window、Linux查看本机外网ip

    前言 我们上网用的IP并不一定是本机网卡的IP地址,由于公网IP地址稀少,国内绝大多数电脑上网,一般都是通过拨号或者端口映射.多个内网地址映射到一个公网地址来实现上网的. 目录 1.查看本机网卡ip ...

  2. AIX/Linux/HP-UX查看CPU/内存/磁盘/存储命令

    1.1    硬件环境验证方式 硬件环境主要包括CPU.内存.磁盘/存储.网络设备(如F5等).系统特有设备(如密押设备等)等,其中网络设备和系统特有设备由网络管理员或项目组提供为准,本节主要关注CP ...

  3. Linux系统管理和调优(内存、CPU、磁盘IO、网络)

    系统管理 Author:Rich七哥 查看 CPU 负载相关工具,找出系统中使用 CPU 最多的进程 查看 Memory 运行状态相关工具,找出系统中使用内存最多的进程 查看 IO 运行状态相关工具, ...

  4. Linux查看网络即时网速

    sar -n DEV 1 100 1代表一秒统计并显示一次 100代表统计一百次 使用ntop等工具,就更方便简单了,不过这个更灵活 P.S. sar在sysstat包 来源:http://www.c ...

  5. Linux centos7日常运维——监控io性能、free内存命令、ps进程命令、查看网络状态、linux下抓包

    一.监控io性能 Linux系统出现了性能问题,一般我们可以通过top.iostat.free.vmstat等命令来查看初步定位问题.其中iostat可以给我们提供丰富的IO状态数据. iostat ...

  6. linux系统CPU,内存,磁盘,网络流量监控脚本

    前序 1,#cat /proc/stat/ 信息包含了所有CPU活动的信息,该文件中的所有值都是从系统启动开始累积到当前时刻 2,#vmstat –s 或者#vmstat 虚拟内存统计 3, #cat ...

  7. Shell采集系统cpu 内存 磁盘 网络信息

    cpu信息采集 cpu使用率 采集算法 通过/proc/stat文件采集并计算CPU总使用率或者单个核使用率.以cpu0为例,算法如下: 1. cat /proc/stat | grep ‘cpu0’ ...

  8. linux系统CPU内存磁盘监控发送邮件脚本

    #!/bin/bashexport PATHexport LANG=zh_CN.UTF-8###top之后输入数字1,可以查看每颗CPU的情况.###先配置好mailx邮箱账号密码:#cat>/ ...

  9. 获取并检查系统负载\CPU\内存\磁盘\网络

    安装依赖 需要net-tools.namp! CentOS:yum -y install net-tools nmap Ubuntu:apt-get update && apt-get ...

随机推荐

  1. tornado peewee_async

    https://peewee-async.readthedocs.io/en/latest/peewee_async/examples.html https://www.cnblogs.com/Vic ...

  2. Xshell远程连接kali,SSH服务拒绝了密码

    在kali里面/etc/ssh/目录下,修改sshd_config文件,不是ssh_config,ssh_config是针对客户端的配置文件,而sshd_config是针对服务器端的配置文件. 找到# ...

  3. Web移动前端开发-——rem+less+媒体查询,rem+flexble.js+媒体查询

    实际开发搞搞起来!!!! rem适配方案 媒体查询+rem+less 基础知识铺垫 第一步,我们需要拿到设计稿,安装设计稿的要求来设置一个合适的html字体大小. 第二步,计算元素大小的取值 页面re ...

  4. 如何创建一个Asp .Net Web Api项目

    1.点击文件=>新建=>项目 2.创建一个Asp .NET Web项目 3.选择Empty,然后选中下面的MVC和Web Api,也可以直接选择Web Api选项,注意将身份验证设置为无身 ...

  5. 【Cantor表】蒟蒻题解

    原题:传送门 (上图摘自网站OpenJudge - NOI题库2.1 Cantor表) 本蒟蒻的题解,让大神们见笑了! 首先,进行找规律. 大家可以发现: 1.当分子是一的时候,且分子和分母的和是偶数 ...

  6. PowerDesigner创建索引

    防止以后忘记怎么设置索引,记录下来方便查翻 1:选中Table 2:找到Table对应的Indexes 3:选中一条记录,点击红框中的小手(Properties)或双击该记录,进入到详细里面 4:找到 ...

  7. ICE使用记录

    在使用ice中间件的过程中 如果A继承了 ****Disp_类 在使用A类的时候 ****Disp_类会浅表克隆该类出一个新的对象a 在调用重写的接口的时候是使用a 在主动调用A类的对象的时候使用的才 ...

  8. Elasticsearch 修改数据

    章节 Elasticsearch 基本概念 Elasticsearch 安装 Elasticsearch 使用集群 Elasticsearch 健康检查 Elasticsearch 列出索引 Elas ...

  9. kibana下载与安装

    目录 简介 下载 安装 测试 简介 Kibana是一个为ElasticSearch 提供的数据分析的 Web 接口.可使用它对日志进行高效的搜索.可视化.分析等各种操作.安装之前有话说: 安装路径不要 ...

  10. 使用Oracle VM VirtualBox安装CentOS 7.6操作系统

    使用Oracle VM VirtualBox安装CentOS 7.6操作系统                                                               ...