我想检查我的进程使用的networking带宽。 对于这个我发现nethogs工具是有用的。 使用这个工具,我可以看到哪个进程正在吃掉networking带宽和进程行为。 但是,如何从nethogs中获取我的进程的数据并将其存储到日志文件中?
你可以试试这个命令来捕获输出:
nethogs -d 5 | sed 's/[^[:print:][:cntrl:]]//g' > output.txt
我不知道什么时候这些选项被实现,但你可以使用nethogs -t
或nethogs -b
,pid和用户奇怪地放在pid命令字符串的末尾,但是很容易解析。
我想你需要使用最新的CVS 0.8.1-SNAPSHOT
nethogs正确的命令是
nethogs -d 1 eth0 > output.txt
否则,您需要指定网络接口,将使用默认接口eth0。 有时候,由于网络接口,nethogs可能不会显示正确的输出。 在实验期间提供网络接口并产生一些流量总是更好的。 您可以通过添加> output.txt
将输出打印到文件中。-d参数指定输出显示的频率。 在这里,我给出了1,这表明每秒钟会显示输出。
希望这可能是有用的。