起因
有天,在群晖的 Web 界面,看到网络监控那里,上传速度竟然有 1-2M/s,漏油器上也看到群晖的上传很高,也就是说流量上传到了外网,卧槽,这到底是哪个进程吃我带宽的,找出来我非得杀掉不可。
可惜,群晖自带的 “资源监控” 无法查看进程对网络的占用。
过程
通常我们在 Linux 上是如何做的呢?1
Linux/Mac
- iftop
通过 iftop
,我们可以找出占用 上传/下载 最高的TCP连接
这里以 Debian 为例吧
安装 iftop
apt install iftop
运行 iftop
(默认是监听 eth0)
iftop
可以通过 -i
来指定其他的网络接口,比如
iftop -P -i en8
参数说明
-i interface 监听指定网络接口
-P 显示主机名及其端口
- netstat
上一步查到的 TCP 连接,包含 remote ip 和 端口。
使用 netstat
,可以定位到具体的进程。
netstat -pantu | grep [port]
在群晖上
因为群晖的系统,虽然是基于 debian,但是默认没有包管理器,无法通过 apt/yum 安装 iftop。不过群晖支持 docker。
-
群晖 - 套件中心 - docker - 安装
-
ssh 连接群晖 janten/iftop 这个镜像为我们提供了
iftop
命令docker run -it --rm --net host janten/iftop -P -i eth0
如果本地没有没有这个镜像,会自动进行拉取,拉取镜像完成后,就可以看到 iftop 的运行界面
-
使用
netstat
定位进程
netstat -pantu | grep [port]
这样就能找到具体的进程了
参考:
- https://forum.synology.com/enu/viewtopic.php?t=143588
- https://askubuntu.com/questions/2411/how-do-i-find-out-which-process-is-eating-up-my-bandwidth
Last updated: 2022-03-19 08:58:19 您可以自由的转载和修改,但请务必注明文章来源并且不可用于商业目的。 本文作者:驱蚊器喵#ΦωΦ 本文链接:https://blog.meow.page/archives/find-which-process-eat-my-bandwidth-on-synology/ 本文采用 CC BY 4.0 Unported 协议进行许可,请阅读 相关说明。