Linux下定位使用流量最大的进程
在工作中经常会遇到服务器流量较高的情况,如果服务器跑着较多的应用,这时候我们就需要定位找到使用流量较大的程序,然后在具体作分析。
通常定位进程流量的可以用到iptraf,nethogs、iftop等,iptraf可以参考:http://linuxperf.com/?p=11 , nethogs可以参考:http://man.linuxde.net/nethogs ,下面我介绍iftop查看过程,iftop -P结果如下: [attach]1474[/attach] 从上图可以看出40613占用流量是最大的,接下来我们根据端口号,来确定程序的PID。使用iftop -P 定位哪个进程的流量比较大
根据端口定位程序PID
# lsof -i:40613 或者 netstat -atunp |grep 40613[attach]1475[/attach] 确认了PID为16276,下一步根据PID确定是哪个进程。
根据进程PID确定进程的名称定位进程
# cat /proc/16276/cmdline然后可以看到具体运行的程序,最后就可以分析为什么这个程序这么消耗流量了。