NAS

群晖上查找占用带宽最大的进程的一种解决方案

2022-03-31

起因

有天,在群晖的 Web 界面,看到网络监控那里,上传速度竟然有 1-2M/s,漏油器上也看到群晖的上传很高,也就是说流量上传到了外网,卧槽,这到底是哪个进程吃我带宽的,找出来我非得杀掉不可。

可惜,群晖自带的 “资源监控” 无法查看进程对网络的占用。

过程

通常我们在 Linux 上是如何做的呢?1

Linux/Mac

  1. iftop

通过 iftop,我们可以找出占用 上传/下载 最高的TCP连接

这里以 Debian 为例吧

安装 iftop

apt install iftop

运行 iftop (默认是监听 eth0)

iftop

可以通过 -i 来指定其他的网络接口,比如

iftop -P -i en8

参数说明

-i interface     监听指定网络接口
-P               显示主机名及其端口
  1. netstat

上一步查到的 TCP 连接,包含 remote ip 和 端口。 使用 netstat ,可以定位到具体的进程。

netstat -pantu | grep [port]

在群晖上

因为群晖的系统,虽然是基于 debian,但是默认没有包管理器,无法通过 apt/yum 安装 iftop。不过群晖支持 docker。

  1. 群晖 - 套件中心 - docker - 安装

  2. ssh 连接群晖 janten/iftop 这个镜像为我们提供了 iftop 命令

    docker run -it --rm --net host janten/iftop -P -i eth0
    

如果本地没有没有这个镜像,会自动进行拉取,拉取镜像完成后,就可以看到 iftop 的运行界面

  1. 使用

    netstat
    

    定位进程

    netstat -pantu | grep [port]
    

这样就能找到具体的进程了

参考:

  1. https://forum.synology.com/enu/viewtopic.php?t=143588
  2. 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 协议进行许可,请阅读 相关说明。