智传网优云课堂,专注分享IT技术
与IT技术爱好者一起共同学习进步

Linux怎么查看和监控每个进程的实时流量

1. 前言

NetHogs是一个开源的命令行工具(类似于Linux的top命令),用来按进程或程序实时统计网络带宽使用率。

来自NetHogs项目网站:

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

Linux流量监控命令之nethogs命令

2. 安装nethogs

CentOS默认仓库并没有包含nethogs,需要手动安装epel仓库

[root@zcwyou ~]# yum -y install epel-release

安装nethogs

[root@zcwyou ~]# yum -y install nethogs

3. 运行nethogs案例

[root@zcwyou ~]# nethogs

或者

[root@zcwyou ~]# nethogs ens160

输出结果
NetHogs version 0.8.5

PID USER     PROGRAM                                                                         DEV        SENT      RECEIVED       

6065 root sshd: root@pts/0 ens160 1.032 0.515 KB/sec
1630 root /usr/bin/ssh ens160 0.082 0.227 KB/sec
1558 root /usr/bin/ssh ens160 0.082 0.206 KB/sec
1555 root sshd: root ens160 0.197 0.076 KB/sec
1606 root sshd: root ens160 0.231 0.076 KB/sec
1639 root /usr/bin/ssh ens160 0.011 0.000 KB/sec
? root unknown TCP 0.000 0.000 KB/sec

TOTAL 1.635 1.099 KB/sec

在Debian/Ubuntu/Linux Mint下要执行NetHogs你必须拥有root权限:

[root@zcwyou ~]# sudo nethogs

linux使用nethogs查看进程实时流量的默认输出结果

4. 常用语法

4.1 案例1

以下就是NetHogs命令行的参数,用-d来添加刷新频率参数,device name 用来检测给定的某个或者某些设备的带宽(默认是eth0)。例如:设置5秒钟的刷新频率,键入如下命令即可:

linux使用nethogs查看进程实时流量的常用语法

有root权限

[root@zcwyou ~]# nethogs -d 5

没有root权限

[root@zcwyou ~]# sudo nethogs -d 5

4.2 案例2

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

[root@zcwyou ~]# nethogs eth0

没有root权限

[root@zcwyou ~]# sudo nethogs eth0

4.3 案例3

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

有root权限:

[root@zcwyou ~]# nethogs eth0 eth1

没有root权限

[root@zcwyou ~]# sudo nethogs eth0 eth1

5. nethogs其他参数和用法

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

linux使用nethogs查看进程实时流量的其他参数和用法查看

6. nethogs键盘快捷键

以下是nethogs的一些交互命令(键盘快捷键)

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

赞(0)
分享到: 更多 (0)

学习QQ群:557371664

关注微信公众号自助视频学习

评论 抢沙发

评论前必须登录!