Linux使用Nethogs工具查看每个进程的带宽使用情况
时间:2020-01-09 10:41:34 来源:igfitidea点击:
问题:
如何在Linux操作系统下按进程查找和分组网络带宽使用情况?
我如何知道Linux操作系统下哪些程序正在使用网络带宽?
如何查看Linux操作系统上每个PID,命令和用户的带宽使用情况?
说明:
您需要使用nethogs命令。
这是一个小型的网顶工具。
类似于网络流量顶部的工具。
它没有像大多数此类工具那样按协议或每个子网划分流量,而是按进程对带宽进行分组,并且不依赖于要加载的特殊内核模块。
因此,如果突然有大量网络流量,您可以启动NetHogs并立即查看是由哪个PID引起的,如果是某种自旋过程,则将其杀死。
Linux使用Nethogs查看每个进程的带宽使用情况
nethogs工具仅在Linux操作系统下工作。
让我们看看如何在Linux操作系统上安装和使用Nethogs工具来查看每个进程的带宽使用情况。
在Debian或Ubuntu Linux上安装nethogs
执行以下apt-get命令/apt-get命令:
$ sudo apt-get install nethogs
在RHEL或CentOS或Fedora Linux上安装nethog
首先打开EPEL repo并执行以下yum命令以安装nethogs软件包:
# yum install nethogs
如果您使用的是Fedora Linux,请执行:
$ sudo dnf install nethogs
在Arch Linux上安装nethogs
$ sudo pacman -S nethogs
在OpenSuse Linux上安装nethogs
# zypper install nethogs
如何使用nethogs命令?
语法为:
nethogs nethogs eth1 nethogs [option] eth0 eth1 nethogs [option] eth0 eth1 ppp0 sudo /usr/sbin/nethogs eth0
键盘快捷键
运行nethogs时,使用以下交互式控件:
- m:在显示模式之间循环(kb/s,kb,b,mb)
- r:按收到的顺序排序。
- s:按发送排序。
- q:退出并返回到shell提示符。
其他选项
-d delay for refresh rate. -h display available commands usage. -p sniff in promiscious mode (not recommended). -t tracemode. -V prints Version info.
处理creating socket failed报错
如果出现错误,内容如下:
creating socket failed while establishing local IP are you root?
建立本地IP时创建套接字失败您是root吗?
确保您使用的是最新版本的nethogs并以root用户身份运行:
$ sudo nethogs eth1