监控每个进程的带宽

监控每个进程的带宽

这让我很抓狂,但是我的服务器在过去两个月里使用了过多的带宽,而我却不知道是怎么回事/为什么/在哪里。

例如,本月它被使用210 GB下载流量(进入服务器),但我不知道它流向了哪里——磁盘使用率没有增加(而且服务器只有 20Gb 驱动器),上传(出站)流量只有4GB本月。

我的日志没有显示任何异常的 Apache、Ftp、Smtp 或身份验证活动;我正在运行 Quassel 和 IRC 服务器,但我认为对于所有进入服务器的数据,这些类型的进程的出站数据量大致相等。我还运行了 MySQL,并且一个用户(通过脚本)从远程服务器访问它,但由于脚本执行的唯一指令是创建条目,如果这是原因,我预计我的磁盘使用率会随着入站流量成比例增加。我还没有开始关闭进程来尝试消除问题,因为除了 FTP 和 Quassel 之外,所有这些服务都被其他人使用,因此它们的正常运行时间是半关键的。

有谁知道什么可能导致这种情况的原因是什么?我可以使用任何守护进程或程序来记录每个进程的流量总数(适用于 Ubuntu 10.04 Server x86_64)?

答案1

您可以使用ntop该工具实时监控网络流量。ntop重新启动时会清除其日志,这有点烦人,但您仍然可以运行一段时间来对流量进行分类。我记得它可以按客户端 IP、端口和协议对流量进行分类。如果您知道端口,您将能够使用fuser命令行工具找到相关服务。

答案2

还有另外一个工具:jnettop。它基于命令行,您可以使用端口号来搜索进程名称/PID(netstat)。

相关内容