Linux下进程/程序网络带宽占用情况查看工具 -- NetHogs

 

http://www.vpser.net/manage/nethogs.html   来自。  最后略有修改

之前VPS侦探曾经介绍过流量带宽相关的工具如:iftopvnstat,这几个都是统计和监控网卡流量的。但是当我们的服务器或 VPS的带宽被大量占用或占满,却没找不到称心的工具或程序来查看到底是哪个程序或进程占有率多少带宽。虽然在Windows上查看进程占用带宽情况的软件很多,像某3**、某Q家的电脑管家、IP雷达等。但是Linux下这一类软件很少,今天我们介绍的就是Linux的一款查看进程带宽网络占用的软件:NetHogs。

安装
Debian/Ubuntu下安装很简单,执行:apt-get install nethogs 就可以安装。

CentOS/RHEL下建议先安装上EPEL,再执行:yum install libpcap nethogs 进行安装。

具体使用参数说明:

[root@vpser ~]# nethogs -h
usage: nethogs [-V] [-b] [-d seconds] [-t] [-p] [device [device [device ...]]]   //nethogs可以使用的参数
-V : prints version.//打印版本信息
-d : delay for update refresh rate in seconds. default is 1. //延迟刷新时间,单位秒,默认1秒
-t : tracemode. //跟踪模式
-b : bughunt mode - implies tracemode. //bughunt模式
-p : sniff in promiscious mode (not recommended). //混合模式下嗅探,不推荐
device : device(s) to monitor. default is eth0 //监听的设备,默认是eth0,也就是网卡设备名称,如果是openvz的vps一般都是venet0,具体可以ifconfig进行查看,lo为本地回环,用不到。多个网卡可以一块写上,空格隔开。

When nethogs is running, press: //nethogs运行是可以使用以下按键进行操作
q: quit //运行时,按 q 键退出
m: switch between total and kb/s mode //按 m 键,切换单位或显示进程占用速度或已统计使用的流量。切换顺序是KB/sec->KB->B->MB
r : Sort by received. //按received进行排序
s : Sort by sent. //按send进行排序

使用例子:nethogs venet0

如上图,PID一列就是进程的PID,PROGRAM就是显示进程或连接双方的端口号,前面红框是服务器的IP:端口,后面红框是客户端的IP:端口,如图根据端口可以判断,目前有7700端口,如果不知道端口对应的进程可以通过lsof来进行查看。

lsof -i:被占用的端口号  如: lsof -i:80

ps aux|grep  PID

DEV列显示设备名,SEND是服务器发送的流量,RECEIVED服务器接收的流量。 // 按 m 可以切换统计方式  : 流量速度KB/sec  或 总数{KB /B /m}

linux流量异常查看哪些程序占用的的更多相关文章

  1. 在windows和linux下如何查看80端口占用情况?是被哪个进程占用?如何终止等

    一.在windows下如何查看80端口占用情况?是被哪个进程占用?如何终止等 这里主要是用到windows下的DOS工具,点击"开始"--"运行",输入&quo ...

  2. linux下df查看空间已经占用%100,但是找不到大文件的解决方法

    有时候在linux下会遇到这种情况:df查看空间已经占用%100,但是找不到大文件,怎么回事呢,经过网上查找资料,得到解决方法: 1.使用lsof查看已删除但未释放的文件 lsof -n | grep ...

  3. Linux下如何查看哪些进程占用的CPU内存资源最多

    linux下获取占用CPU资源最多的10个进程,可以使用如下命令组合: ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head linux下获取占用 ...

  4. Linux下如何查看哪个进程占用内存多?

    1.top top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器 可以直接使用top命令后,查看%MEM的内容.可以选择按进程查看或者 ...

  5. windows怎样查看被程序占用的端口

    1. netstat -ano  显示所有端口与任务管理器中的pid对应,通过pid打开任务管理器查询占用进程 附录:在命令行中输入netstat /? 可以查看netstat的相关信息.C:\Doc ...

  6. linux下怎样查看哪些进程占用swap空间

    for i in `cd /proc;ls |grep "^[0-9]"|awk ' $0 >100'` ;do awk '/Swap:/{a=a+$2}END{print ...

  7. Linux下objdump查看C程序编译后的汇编代码

    http://m.blog.csdn.net/article/details?id=47747047 Uboot中start.S源码的指令级的详尽解析 http://www.crifan.com/fi ...

  8. 在linux下,查看一个运行中的程序, 占用了多少内存

    1. 在linux下,查看一个运行中的程序, 占用了多少内存, 一般的命令有 (1). ps aux: 其中  VSZ(或VSS)列 表示,程序占用了多少虚拟内存. RSS列 表示, 程序占用了多少物 ...

  9. Windows下查看端口被程序占用的方法

      有时安装程序时,会出现XX端口被占用的情况,可以通过CMD命令查看什么程序占用 1. netstat -ano 查看相应端口对应程序的PID 例如:   C:\>netstat -ano A ...

随机推荐

  1. ASP.NET Web API 2 使用 AuthorizationFilter(授权过滤器)实现 Basic 认证

    Ø  前言 在 Web 项目中授权认证方式有很多种,本文主要讲述基于 Basic 的认证方式.这是一种比较简单.常见的认证方式,主要是将请求的用户名和密码进行加密后返回给调用方,比较适合采用用户名.密 ...

  2. LINQ to SQL 中 Concat、Union、Intersect、Except 方法的使用

    Ø  前言 LINQ to SQL 中需要对两个或多个数据集进行操作,比如:合并.取交集等,主要使用下面四个方法,这四个方法都是 System.Linq.IQueryable<out T> ...

  3. Native/Webview bridge for Hybrid

    Native/Webview bridge for Hybrid 安装 npm i --save webview-bridge 特点 支持自定义app URL scheme 支持多种处理方式(全部涵盖 ...

  4. Groovy&开发环境

    Jenkinsfile开发语言 -- Groovy http://www.groovy-lang.org/ A multi-faceted language for the Java platform ...

  5. Spring Boot 起步

    ……………………………………………………………………………………………………………… [应用配置]application.yml [port][context-path][datasource][jp ...

  6. window中安装mongodb

    转自:https://blog.csdn.net/heshushun/article/details/77776706 一.先登录Mongodb官网https://www.mongodb.com/do ...

  7. ASP.NET 配置log4net启用写错误日志功能

    http://www.cnblogs.com/yeminglong/archive/2013/05/21/3091192.html 首先我们到apche的官网下载log4net的项目编译得到log4n ...

  8. C++ 窗口

    DestroyWindow();     //销毁窗口 可重载的事件: PostNcDestroy    窗口销毁后调用

  9. Vue中splice的使用

    转载:https://blog.csdn.net/xiha_zhu/article/details/80449339 splice(index,len,[item])它也可以用来替换/删除/添加数组内 ...

  10. 【Git】Git常用命令

    git remote -v : 查看远程仓库地址