Linux服务器上监控网络带宽的18个常用命令

本文介绍了一些可以用来监控网络使用情况的Linux命令行工具。这些工具可以监控通过网络接口传输的数据,并测量目前哪些数据所传输的速度。入站流量和出站流量分开来显示。

一些命令可以显示单个进程所使用的带宽。这样一来,用户很容易发现过度使用网络带宽的某个进程。

这些工具使用不同的机制来制作流量报告。nload等一些工具可以读取"proc/net/dev"文件,以获得流量统计信息;而一些工具使用pcap库来捕获所有数据包,然后计算总数据量,从而估计流量负载。

下面是按功能划分的命令名称。

监控总体带宽使用――nload、bmon、slurm、bwm-ng、cbm、speedometer和netload

监控总体带宽使用(批量式输出)――vnstat、ifstat、dstat和collectl

每个套接字连接的带宽使用――iftop、iptraf、tcptrack、pktstat、netwatch和trafshow

每个进程的带宽使用――nethogs

  1. nload

安装nload:Fedora和Ubuntu在默认软件库里面就有nload。CentOS用户则需要从Epel软件库获得nload。

安装iftop:Ubuntu/Debian/Fedora用户可以从默认软件库获得它。CentOS用户可以从Epel获得它。

安装nethogs:Ubuntu、Debian和Fedora用户可以从默认软件库获得。CentOS用户则需要Epel。

bmon支持许多选项,能够制作HTML格式的报告。欲知更多信息,请参阅参考手册页。

  1. slurm

slurm是另一款网络负载监控器,可以显示设备的统计信息,还能显示ASCII图形。它支持三种不同类型的图形,使用c键、s键和l键即可激活每种图形。slurm功能简单,无法显示关于网络负载的任何更进一步的详细信息。

  1. tcptrack

tcptrack类似iftop,使用pcap库来捕获数据包,并计算各种统计信息,比如每个连接所使用的带宽。它还支持标准的pcap过滤器,这些过滤器可用来监控特定的连接。

想实时监控带宽使用情况,请使用"-l"选项(实时模式)。然后,它会显示入站数据和出站数据所使用的总带宽量,但非常精确地显示,没有关于主机连接或进程的任何内部详细信息。

如果控制台足够大,bwm-ng还能使用curses2输出模式,为流量绘制条形图。

这是一款小巧简单的带宽监控工具,可以显示通过诸网络接口的流量大小。没有进一步的选项,仅仅实时显示和更新流量的统计信息。

与netwatch和pktstat一样,trafshow也可以报告当前活动连接、它们使用的协议以及每条连接上的数据传输速度。它能使用pcap类型过滤器,对连接进行过滤。

只监控TCP连接

dstat是一款用途广泛的工具(用python语言编写),它可以监控系统的不同统计信息,并使用批处理模式来报告,或者将相关数据记入到CSV或类似的文件。这个例子显示了如何使用dstat来报告网络带宽。

安装dstat

结束语

上述几个使用方便的命令可以迅速检查Linux服务器上的网络带宽使用情况。不过,这些命令需要用户通过SSH登录到远程服务器。另外,基于Web的监控工具也可以用来实现同样的任务。

ntop和darkstat是面向Linux系统的其中两个基本的基于Web的网络监控工具。除此之外还有企业级监控工具,比如nagios,它们提供了一批功能特性,不仅仅可以监控服务器,还能监控整个基础设施。

本文转自d1net(转载)

时间: 2024-08-31 09:16:03

Linux服务器上监控网络带宽的18个常用命令的相关文章

用IE登录Linux服务器上的em出现的乱码的解决

linux服务器|解决 用IE登录Linux服务器上的em出现的乱码的解决 作者: Fenng 问题描述 在Linux(Unix)环境下成功安装了Oracle 10g,从windows下用IE浏览器登录 10g 的em, 按钮是"口口"这样的方框. 解决办法 其实严格的说来,这是Java的问题.JDK Swing采用TrueType 字体作为按钮的显示字体,如果你的JDK 找不到中文字体用来显示,你看到的一些按钮就变成小方块的样子. 一般情况下, 我们只需要修改相应的 font.pro

Linux服务器上用iScanner删除网页恶意代码的方法

  Linux服务器上怎么用iScanner删除网页恶意代码?这篇文章主要介绍了Linux服务器上用iScanner删除网页恶意代码的方法,iScanner为Ruby编写,所以服务器上要首先安装Ruby解释器,需要的朋友可以参考下 第一步:安装 首先要确保服务器上已经安装了Ruby 代码如下: #ruby -v //查看ruby的版本信息 如果服务器上没有安装,可以通过yum或者apt-get安装ruby(根据自己服务器系统选择对应的方法安装) 代码如下: #yum install ruby /

使用logback 写入日志,部署到linux服务器上后失败问题?

问题描述 使用logback 写入日志,部署到linux服务器上后失败问题? 使用logback 写入日志,在本地测试时可以的,部署到linux服务器上后,写入失败,连日志文件都没有生成,是怎么回事? 解决方案 是不是权限问题,能不能访问对应的目录等 解决方案二: 有可能是路径的问题,仔细看看linux上和windows上路径设置是不一样的

同一javaweb项目在同样配置的两台Linux服务器上,一台能正常访问,另一台就报错!

问题描述 同一javaweb项目在同样配置的两台Linux服务器上,一台能正常访问,另一台就报错! java.lang.reflect.InvocationTargetException sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) sun.reflect.Delega

java服务放在Linux服务器上定时执行,执行规律一天一次,每天都加一个线程

问题描述 java服务放在Linux服务器上定时执行,执行规律一天一次,每天都加一个线程 java服务放在Linux服务器上定时执行,执行规律一天一次,每天都加一个线程,请问为什么会引起这个问题 解决方案 搞成服务,定时重启服务试试 解决方案二: spring的定时任务设置就行

mysql-Hibernate 原生sql多表查询在Linux服务器上查询不到数据

问题描述 Hibernate 原生sql多表查询在Linux服务器上查询不到数据 String sql = "SELECT Area.* FROM area AS Area,district AS d WHERE Area.districtid=d.districtid AND Area.areaname= '" + areaname + "' AND d.districtname='" + cityname + "'"; @SuppressWa

阿里云服务器-如何在linux服务器上运行asp网站

问题描述 如何在linux服务器上运行asp网站 请好心人告知怎么去配置环境,需要安装和修改什么. 我将整个网站放入根目录下并不能让网站正常工作 解决方案 理论上你可以用mono和apache运行asp,net程序,但是干嘛你不直接用windows虚拟机呢.因为你会遇到很多问题,比如你用了sql server,而linux只能用别的,你要修改代码. 不规范的代码,用了硬编码的目录分隔符,你又要修改.你调用了excel等activex,你又得修改.要用了exchage server,msmq等等,

Windwos下使用winscp和批处理实现通过SSH端口上传文件到Linux服务器上_DOS/BAT

Windwos下使用winscp和批处理实现通过SSH端口上传文件到Linux服务器上 今天同事想在windows上使用winscp上传文件到linux服务器上,又想偷懒想使用批处理来进行上传,还好只固定上传一个php文件,多了还真不好搞. 1.下载winscp 大家可以去网上自己找,我把winscp安装在c:下的 2.把要执行的命令保存到文件winscp.bat里,这个winscp.bat可以自己创建,我是放在d:下的. winscp.bat脚本内容: 复制代码 代码如下: option co

io-java执行linux命令从linux服务器上读取log日志文件,按行读从指定字符串开始读

问题描述 java执行linux命令从linux服务器上读取log日志文件,按行读从指定字符串开始读 [INFO ] 2015-09-23 11:22:06,691 [threadPoolTaskExecutor-41] com.sto.pdaplatform.module.rediscommon.core.ParseObjectFactory.getParseObjFactory(ParseObjectFactory.java:27) >>> the original data is