我们知道在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的介绍是有共同点的,他是寻求的统一,模块,而不是定制,在统一,模块的基础上,解放出人,人,才可以被替换,这也是一种非常值得学习的理念!