项目修炼之路(7)iftop查看耗费流量的进程


我们知道在linux中,top命令可以查看服务器中资源的一些情况,cpu,内存等,还可以看到是谁在消耗内存或cpu,但是,有些时候,我们发现,cpu和内存并不吃紧,但是服务器依然很慢,这时候,我们需要多一个维度来帮助我们分析问题,就是流量的统计,今天给大家介绍一个工具iftop,希望帮助大家解决这个问题。

iftop先睹为快:

\

1,界面介绍

界面上面显示的是类似刻度尺的刻度范围,为显示流量图形的长条作标尺用的。
中间的<= =>这两个左右箭头,表示的是流量的方向。

TX:发送流量
RX:接收流量
TOTAL:总流量
Cumm:运行iftop到目前时间的总流量
peak:流量峰值
rates:分别表示过去 2s 10s 40s 的平均流量

官网:http://www.ex-parrot.com/~pdw/iftop/

知道端口,我们可以通过 netstat -ntlup|grep 端口号 来查看具体进程,并通过ps -ef |grep 进程号,查看相关信息,这样就容易定位消费流量的大户是谁了!

2,准备:

必要库文件,需要 libpcap 及 libcurses 。

yum install -y flex byacc libpcap ncurses ncurses-devel libpcap-devel

指定目录:cd /usr/local/

下载:wget http://www.ex-parrot.com/~pdw/iftop/download/iftop-0.17.tar.gz

解压:tar zvfx iftop-0.17.tar.gz

应用配置

cd iftop-0.17

./configure --prefix=/usr/local/iftop

编译:make && make install
复制可执行文件到linux库:cp /usr/local/iftop/sbin/iftop /bin

3, 运行iftop

查看要监控的网卡名:ifconfig -a

\

请必须是root级别用户

iftop -i eth0 -n -P

更详细的参数可以iftop -h查看

总结:

在linux上,通过安装一系列插件,实现对linux的扩充,这是操作系统,但是映射到java,不也是一样的吗?很多地方都是相同的,这就可以归类与一种结果:可扩充软件,也是常常我们说的做标准,可替换可扩充,和最近读到的一本数《黑客与画家》中对java的介绍是有共同点的,他是寻求的统一,模块,而不是定制,在统一,模块的基础上,解放出人,人,才可以被替换,这也是一种非常值得学习的理念!

相关内容