在 Linux 系统中,可以使用以下方法查看什么进程占用了网络带宽:
该方式比较好
一、使用 nethogs 工具
- 安装 nethogs:- 如果是基于 Debian 或 Ubuntu 的系统,可以使用以下命令安装:
sudo apt-get install nethogs
。- 对于 CentOS 或 Fedora 等系统,可以使用:sudo yum install nethogs
。 - 使用方法:- 直接运行
nethogs
命令,它会实时显示每个进程的网络使用情况,包括上传和下载速度。按q
键退出。
二、使用 iftop 工具
- 安装 iftop:- 类似地,在 Debian/Ubuntu 系统中使用:
sudo apt-get install iftop
。- CentOS/Fedora 系统中使用:sudo yum install iftop
。 - 使用方法:- 运行
iftop
命令,界面上会显示网络连接的实时流量情况,以及连接的源 IP、目标 IP 和对应的进程名等信息。通过P
键可以切换显示端口号或进程名。按q
键退出。
三、使用 top 命令结合 netstat 或 ss
- 使用
top
命令查看整体系统资源使用情况,包括 CPU 和内存占用等。在top
界面中按P
键可以按照 CPU 使用率排序,按M
键可以按照内存使用率排序。但top
命令本身不能直接显示网络带宽占用情况。 - 结合
netstat
或ss
命令找到占用网络资源的进程对应的连接信息:-netstat -anp
可以列出所有网络连接和对应的进程信息,通过观察连接状态和端口信息,可以大致判断哪些进程可能在进行大量网络通信。-ss -anp
与netstat
类似,但通常效率更高。
然后根据找到的进程 PID(进程 ID),在
top
命令的输出中查找对应的进程,查看其资源使用情况。
这些方法可以帮助你确定 Linux 系统中哪些进程正在占用网络带宽。
版权归原作者 三希 所有, 如有侵权,请联系我们删除。