我觉得我被某个 bug 感染了。有时候我在工作时(我仍然不知道为什么),我的网络流量会达到 200 KB/s 并且一直保持这个速度,即使我没有做任何与互联网相关的事。
我有时会遇到 CPU 使用率问题。遇到这种情况时,我只需运行top
命令来找出哪个进程负责,然后kill
执行它。问题是:我无法知道哪个进程导致我的网络使用率过高。资源监视器和命令都只top
告诉我我的总网络使用率,它们都没有告诉我特定于进程的网络信息。
我在这里找到了有关监控总带宽使用情况的问题,但正如我提到的,这不是我需要的。是否有其他命令可以用来找出哪个进程失控了?
该命令iftop
给出的结果与系统监视器报告的信息完全不一致。后者声称网络流量很大,而前者声称网络流量仅为 1 KB/s。
我已经尝试过关闭所有明显的程序(Firefox、update-manager、Pidgin 等),但都没有成功。到目前为止,我发现重启机器是解决问题的唯一方法。
答案1
我有很多成功的经验网猪。它必须以 root 身份运行,但您可以使用不同的方式对统计信息进行排序(例如,自 nethogs 启动以来监控的 KB/s 或总带宽)。
此外,如果您使用无线,则需要将设备传递给它。
使用命令安装:sudo apt-get install nethogs
赶紧跑
sudo nethogs
如果您想检查自打开以来所消耗的带宽累计总量nethogs
,请执行此操作(查看哪些程序在长期内消耗更多带宽很有用)
sudo nethogs -v 3
答案2
用来iftop
定位计算机上接收流量最多的 TCP 端口。然后用来sudo netstat -tup
定位“拥有”该端口的进程。
这就是您正在寻找的过程。
PS: 也适用于UDP。
答案3
您可能需要查看ntop
- 它应该在进程级别监控网络活动。您可以ntop
在软件中心或使用sudo apt-get install ntop
有关安装说明,请关注其页面http://packages.ntop.org/
答案4
回答晚了,但我遇到了同样的问题。原来是 Ubuntuone。通过运行 tcpdump 发现了这一点。我在进程识别方面经历了同样的学习曲线。
从我的笔记:
Ubuntu 盒子连接信息
今天早上启动我的 Ubuntu 10.04 桌面,发现几分钟后互联网连接就开始变慢。我以前在 Windows 机器上见过这种情况,99% 的时间都是间谍软件。所以,我需要调查一下...命令行风格。
tcpdump
. 说明 Ubuntuone 正在疯狂发展。系统>首选项>Ubuntu One。关闭所有同步。就完成了。
所以,我想看看所有网络连接以及它们正在做什么。我可以
netstat -cW
(以宽格式连续列出网络连接,以便外部地址不会被截断)
lsof -i |grep -v
‘localhost’(列出与任何 Internet 地址匹配的打开的文件,grep 删除与 localhost 相关的任何打开的文件——我的想法是我不想看到本地服务,因为它们可能不会影响网络利用率)。需要记住的事情有:
- 需要了解 Ubuntu 日志以进行故障排除。
- 需要了解有关 tcpdump 的更多信息,因此我将从本教程由 Daniel Miessler 提供。
编者注:这个答案指的是tinker 的 blogspot 文章仅限受邀用户。由于这个答案有相当多的赞成票,所以它很有价值。我在回溯机器. 并将其包含在这里。