【博客631】监控网卡与进程网络IO使用情况

news2024/12/23 17:00:31

监控进程的网络IO使用情况

1、vnstat

由于 vnstat 依赖于内核提供的信息,因此执行以下命令来验证内核是否提供了 vnStat 所期望的所有信息:

# vnstat --testkernel
This test will take about 60 seconds.
Everything is ok.

不带任何参数的 vnstat 将为您提供包含以下信息的快速摘要:

  • 上次更新位于 /var/lib/vnstat/ 下的 vnstat 数据库时
  • 从它开始收集特定接口的统计信息开始
  • 过去两个月和过去两天的网络统计数据(传输的字节数、接收的字节数)。
# vnstat
Database updated: Sat Oct 15 11:54:00 2011

   eth0 since 10/01/11

          rx:  12.89 MiB      tx:  6.94 MiB      total:  19.82 MiB

   monthly
                     rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
       Sep '11     12.90 MiB |    6.90 MiB |   19.81 MiB |    0.14 kbit/s
       Oct '11     12.89 MiB |    6.94 MiB |   19.82 MiB |    0.15 kbit/s
     ------------------------+-------------+-------------+---------------
     estimated        29 MiB |      14 MiB |      43 MiB |

	 daily
                     rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
     yesterday      4.30 MiB |    2.42 MiB |    6.72 MiB |    0.64 kbit/s
         today      2.03 MiB |    1.07 MiB |    3.10 MiB |    0.59 kbit/s
     ------------------------+-------------+-------------+---------------
     estimated         4 MiB |       2 MiB |       6 MiB |

注意:如果刚刚安装了 vnStat,它将给出以下消息“eth0:还没有足够的数据可用。”。等待一段时间,然后再次尝试该命令。

显示实时网络统计:

使用vnstat -l显示实时网络统计信息,按 Ctrl-C 停止它后,vnstat 将显示实时监

$ vnstat -l
Monitoring eth0...    (press CTRL-C to stop)

   rx:        2 kbit/s     5 p/s          tx:        2 kbit/s     4 p/s

2、ftop

界面说明

=>代表发送数据,<= 代表接收数据
TX:发送流量
RX:接收流量
TOTAL:总流量
Cumm:运行iftop到目前时间的总流量
peak:流量峰值
rates:分别表示过去 2s 10s 40s 的平均流量

常用参数

-i 指定需要检测的网卡, 如果有多个网络接口,则需要注意网络接口的选择,如:# iftop -i eth1
-B 将输出以byte为单位显示网卡流量,默认是bit
-n 将输出的主机信息都通过IP显示,不进行DNS解析 
-N 只显示连接端口号,不显示端口对应的服务名称
-F 显示特定网段的网卡进出流量  如iftop -F 192.168.85.0/24
-h 帮助,显示参数信息
-p 以混杂模式运行iftop,此时iftop可以用作网络嗅探器 ;
-P 显示主机以及端口信息
-m 设置输出界面中最上面的流量刻度最大值,流量刻度分5个大段显示  如:# iftop -m 100M
-f 使用筛选码选择数据包来计数  如iftop -f filter code
-b 不显示流量图形条
-c 指定可选的配置文件   如iftop  -c config file
-t 使用不带ncurses的文本界面,
    以下两个是只和-t一起用的:
    -s num num秒后打印一次文本输出后退出,-t -s 60组合使用,表示取60秒网络流量输出到终端
    -L num 打印的行数
-f 参数支持tcpdump的语法,可以使用各种过滤条件。

进入界面后的操作

一般参数
P      切换暂停/继续显示
h      在交互界面/状态输出界面之间切换
b      切换是否显示平均流量图形条
B      切换显示2s 10s和40s内的平均流量
T      切换是否显示每个连接的总流量
j/k    向上或向下滚动屏幕显示当前的连接信息
f      编辑筛选码
l      打开iftop输出过滤功能 ,如输入要显示的IP按回车键后屏幕就只显示与这个IP相关的流量信息
L      切换显示流量刻度范围,刻度不同,流量图形条也会不同
q      退出iftop
主机参数
n      使iftop输出结果以IP或主机名的方式显示
s      切换是否显示源主机信息
d      切换是否显示远端目标主机信息
t      切换输出模式,一行或多行
端口显示参数
N      切换显示端口号/端口号对应服务名称
S      切换是否显示本地源主机的端口信息
D      切换是否显示远端目标主机的端口信息
p      切换是否显示端口信息
输出排序参数
1/2/3  通过第一列/第二列/第三列排序
<      根据左边的本地主机名或IP地址进行排序
>      根据远端目标主机的主机名或IP地址进行排序
o      切换是否固定显示当前的连接

使用示例

1、显示网卡eth0的信息,主机通过ip显示
iftop -i eth0 -n

2、显示端口号(添加-P参数,进入界面可通过p参数关闭)
iftop -i eth0 -n -P

3、显示将输出以byte为单位显示网卡流量,默认是bit
iftop -i eth0 -n -B

4、显示流量进度条
iftop -i eth0 -n(进入界面后按下L)

5、显示每个连接的总流量
iftop -i eth0 -n(进入界面后按下T)

6、显示指定ip 172.17.1.158的流量
iftop -i eth0 -n(进入界面后按下l,输入172.17.1.158回车)

实战-找出最费流量的ip和端口号:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、nethogs

语法

nethogs(选项)(参数)

选项

usage: nethogs [-V] [-h] [-b] [-d seconds] [-v mode] [-c count] [-t] [-p] [-s] [device [device [device ...]]]
  -V : 打印版本。
  -h : 打印此帮助。
  -b : bughunt模式 - 暗示tracemode。
  -d : 延迟更新刷新率(以秒为单位)。 默认值为1。
  -v : 视图模式(0 = KB / s,1 =总KB,2 =总B,3 =总MB)。 默认值为0。
  -c : 更新次数。 默认为0(无限制)。
  -t : tracemode.
  -p : 煽动混乱模式(不推荐)。
  -s : 按发送列排序输出。
  -a : 监控所有设备,甚至环回/停止。
  device : 要监控的设备。 默认是所有接口启动和运行,不包括环回

当nethogs运行时,按:

  q:退出
  s:按SENT流量排序
  r:按RECEIVE流量排序
  m:在总(KB,B,MB)和KB / s模式之间切换

其他参数和用法

-d : 刷新间隔
-h : 帮助
-p : promiscious 模式
-t : trace模式 
-V : 版本

NetHogs 命令行参数

用-d来添加刷新频率参数,device name 用来检测给定的某个或者某些设备的带宽(默认是eth0)。

例如:设置5秒钟的刷新频率,键入如下命令即可:

nethogs -d 5

如果只用来监视设备(eth0)的网络带宽可以使用如下命令:

nethogs eth0

如果要同时监视eth0和eth1接口,使用以下命令即可:

nethogs eth0 eth1

效果如图所示:在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/404437.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

设计模式(十九)----行为型模式之命令模式

1、概述 日常生活中&#xff0c;我们出去吃饭都会遇到下面的场景。 定义&#xff1a; 将一个请求封装为一个对象&#xff0c;使发出请求的责任和执行请求的责任分割开。这样两者之间通过命令对象进行沟通&#xff0c;这样方便将命令对象进行存储、传递、调用、增加与管理。命…

UE官方教程笔记03-功能、术语、操作简介

对官方教程视频[官方培训]03-UE功能、术语、操作简介 | 徐良安 Epic的笔记这一部分基本都是走马观花的简单介绍功能世界创建建模Mesh editingtool是一个全新的建模工具&#xff0c;具备大多数的主流建模软件的核心功能HOUDINI ENGINE FOR UNREALHoudini编辑器&#xff0c;可以用…

springboot2集成knife4j

springboot2集成knife4j springboot2集成knife4j 环境说明集成knife4j 第一步&#xff1a;引入依赖第二步&#xff1a;编写配置类第三步&#xff1a;测试一下 第一小步&#xff1a;编写controller第二小步&#xff1a;启动项目&#xff0c;访问api文档 相关资料 环境说明 …

C++回顾(二十一)—— list容器

21.1 list概述 list是一个双向链表容器&#xff0c;可高效地进行插入删除元素。list不可以随机存取元素&#xff0c;所以不支持at.(pos)函数与[]操作符。It(ok) it5(err)需要添加头文件&#xff1a;#include <list> 21.2 list构造 &#xff08;1&#xff09;默认构造…

摘花生(简单DP)

Hello Kitty想摘点花生送给她喜欢的米老鼠。她来到一片有网格状道路的矩形花生地(如下图)&#xff0c;从西北角进去&#xff0c;东南角出来。地里每个道路的交叉点上都有种着一株花生苗&#xff0c;上面有若干颗花生&#xff0c;经过一株花生苗就能摘走该它上面所有的花生。Hel…

手写代码理解vue响应式原理

vue2响应式应用了Object.defineProperty&#xff0c;vue3中的响应式则是运用proxy。 目录标题1、defineProperty2、代码理解defineProperty3、手写vue2响应式原理4、vue2监听数组响应式5、Proxy理解6、总结1、defineProperty Object.defineProperty(obj, prop, descriptor) ob…

【8.索引篇】

索引分类 索引和数据就是位于存储引擎中&#xff1a; 按「数据结构」分类&#xff1a;Btree索引、Hash索引、Full-text索引。按「物理存储」分类&#xff1a;聚簇索引&#xff08;主键索引&#xff09;、二级索引&#xff08;辅助索引&#xff09;。按「字段特性」分类&#…

linux字符设备和块设备的区别 以及网络设备

一、字符设备 1、字符设备以字节为单位。大多数设备是字符设备&#xff0c;因为他们不需要缓冲而且不以固定块大小进行操作。 2、字符设备无需缓冲直接读写。 3、字符设备只能被顺序读写。 二、块设备 1、块设备只能以块为单位接受输入和输出。 2、块设备对I/0请求有对应的缓冲…

建立自己的博客

环境安装&#xff1a; w10系统安装 第一步&#xff1a;安装git Git 官网: https://git-scm.com/ 第二步&#xff1a;安装Node.js Node.js官网&#xff1a;https://nodejs.org/zh-cn/ 使用cmd检测&#xff1a; node -v 第三步&#xff1a;安装Hexo Hexo官网&#xff1a;htt…

PyInstaller 将DLL文件打包进exe

PyInstaller 将DLL文件打包进exe方法1&#xff1a;通过--add-data命令方法2&#xff1a;通过修改 .spec扩展&#xff1a;博主热门文章推荐&#xff1a;方法1&#xff1a;通过–add-data命令 注意&#xff1a;这里 dll末尾添加的.为当前目录&#xff0c;则该dll要放到main.py同一…

【零基础入门学习Python---Python的五大数据类型之字符串类型】

一.Python的五大数据类型之字符串类型 在Python中,变量用于存储数据。变量名可以是任何字母、数字和下划线的组合。Python支持多种数据类型,包括数字、字符串、列表、元组和字典。这篇文章我们就来学习一下五大数据类型中的字符串类型。 1.1 什么是字符串? 字符串是Pyth…

[acwing周赛复盘] 第 94 场周赛20230311

[acwing周赛复盘] 第 94 场周赛20230311 一、本周周赛总结二、 4870. 装物品1. 题目描述2. 思路分析3. 代码实现三、4871. 最早时刻1. 题目描述2. 思路分析3. 代码实现四、4872. 最短路之和1. 题目描述2. 思路分析3. 代码实现六、参考链接一、本周周赛总结 又是笨比的一周&…

保姆级图文教程 - VirtualBox安装配置Kali Linux

文章目录下载Kali Linux虚拟机包安装Kali用户配置网络配置静态ipDHCP分配IP换deb源下载Kali Linux虚拟机包 官网地址&#xff1a;https://www.kali.org/get-kali/#kali-virtual-machines 我们选择virtualbox版的&#xff0c;就是最中间的那个。 安装Kali 将压缩包解压&…

计算机网络:传输层概述

传输层 只有主机才有的层次 传输层的功能&#xff1a; 1.传输层提供进程与进程之间的逻辑通信。 2.复用&#xff1a;应用层的所有进程可以都使用一同传输层协议。 3.分用&#xff1a;传输层从网络层收到数据后&#xff0c;交付给指明的应用进程。 4.传输层对收到的报文进行差错…

二十一、Django-restframework之序列化器补充

一、常用序列化器字段 序列化器字段处理基元值和内部数据类型之间的转换。它们还处理输入值的验证&#xff0c;以及从它们的父对象检索和设置值。 &#xff08;1&#xff09;核心参数 每个序列化器字段类构造函数至少接受这些参数。一些字段类还接受额外的&#xff0c;字段特…

STM8S系列基于IAR标准外设printf输出demo

STM8S系列基于IAR标准外设printf输出demo&#x1f4cc;STM8S/A标准外设库&#xff08;库版本V2.3.1&#xff09;&#x1f4cd;官网标准外设库&#xff1a;https://www.st.com/zh/embedded-software/stsw-stm8069.html ⛳注意事项 &#x1f6a9;在内存空间比较有限的情况下&am…

.vue 组件打包成 .js

.vue 组件打包成 .js *** 所有的内容 cli 官网都有 *** *** https://cli.vuejs.org/zh/guide/build-targets.html *** 所有的内容 cli 官网都有&#xff1a; https://cli.vuejs.org/zh/guide/build-targets.html 准备 几个 .vue 组件文件 import Main from ./components/Ma…

MySQL InnoDB存储引擎锁与事务实现原理解析(未完成)

InnoDB MySQL存储引擎是基于表的&#xff0c;也就是说每张表可以选择不同的存储引擎。 InnoDB存储引擎的表是索引组织的&#xff0c;也就是数据即索引。 存储引擎文件 InnoDB引擎会包含RedoLog重做日志文件和TableSpace表空间文件。 表空间文件 默认表空间文件&#xff08…

Win32 ListBox控件

Win32 ListBox控件 创建ListBox控件 创建窗口函数 HWND CrateWindowEx(DWORD dwExStyle , // 窗口的扩展风格,基本没用LPCTSTR lpClassName, // 已经注册的窗口类名称LPCTSTR lpWindowName, // 窗口标题栏的名字DWORD dwStyle, // 窗口的基本风格int x, // 左上角水平坐标int …

HashMap ConcurrentHashMap介绍

目录 HashMap 数据结构 重要成员变量 Jdk7-扩容死锁分析 单线程扩容 多线程扩容 Jdk8-扩容 ConcurrentHashMap 数据结构 并发安全控制 源码原理分析 重要成员变量 协助扩容helpTransfer 扩容transfer 总结 CopyOnWrite机制 源码原理 HashMap 数据结构 数组…