[Linux] Nethogs网络监测流量的安装和使用(可查看单个进程的流量情况)

2021-04-10 444点热度 1人点赞 0条评论

前言

nethogs是一个github上开源的net top工具,可以按照进程来监测网络的流量情况。

nethogs的介绍

NetHogs是一个小型的net top工具,不像大多数工具那样拖慢每个协议或者是每个子网的速度而是按照进程进行带宽分组。NetHogs不需要依赖载入某个特殊的内核模块。如果发生了网络阻塞你可以启动NetHogs立即看到哪个PID造成的这种状况。这样就很容易找出哪个程序跑飞了然后突然占用你的带宽。

NetHogs is a small ‘net top’ tool. Instead of breaking the traffic down per protocol or per subnet, like most such tools do, it groups bandwidth by process - and does not rely on a special kernel module to be loaded. So if there’s suddenly a lot of network traffic, you can fire up NetHogs and immediately see which PID is causing this, and if it’s some kind of spinning process, kill it.

安装

安装比较简单,如下:

Ubuntu下安装:sudo apt-get install nethogs

CentOS下安装:

#需要先安装epel-release,如果已经安装的,可以跳过,直接安转nethogs
yum install -y epel-release

#安装nethogs
yum install -y nethogs

使用

直接输入nethogs就可以看到最基本的运行结果

nethogs

NetHogs version 0.8.5-2

    PID USER     PROGRAM                                          DEV        SENT      RECEIVED
  27170 root     sshd: [email protected]/1                                 eth0        0.935       0.544 KB/sec
  13501 root     117.154.49.201:443-17.138.15.124:62478                       0.023       0.000 KB/sec
      ? root     unknown TCP                                                  0.000       0.000 KB/sec

  TOTAL                                                                       3.544       0.948 KB/sec

可以看到我的nginx的117.154.49.201:443端口有流量且显示网速了。

如果要退出nethogs的流量监控模式,直接按键盘上的q就可以了。

如果你的服务器有多个网卡,那么可以指定某个网口(如eth1)做监测:nethogs eth1

用法详解:

语法

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的一些交互命令(键盘快捷键)

  • m : 修改单位
  • r : 按流量排序
  • s : 按发送流量排序
  • q : 退出命令提示符

admin

这个人很懒,什么都没留下

文章评论

*

code