项目修炼之路(7)iftop查看耗费流量的进程
2016-02-22 17:05
323 查看
我们知道在linux中,top命令可以查看服务器中资源的一些情况,cpu,内存等,还可以看到是谁在消耗内存或cpu,但是,有些时候,我们发现,cpu和内存并不吃紧,但是服务器依然很慢,这时候,我们需要多一个维度来帮助我们分析问题,就是流量的统计,今天给大家介绍一个工具iftop,希望帮助大家解决这个问题。
iftop先睹为快:
![](http://img.blog.csdn.net/20160222165340642?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
中间的<= =>这两个左右箭头,表示的是流量的方向。
TX:发送流量
RX:接收流量
TOTAL:总流量
Cumm:运行iftop到目前时间的总流量
peak:流量峰值
rates:分别表示过去 2s 10s 40s 的平均流量
官网:http://www.ex-parrot.com/~pdw/iftop/
知道端口,我们可以通过 netstat -ntlup|grep 端口号 来查看具体进程,并通过ps -ef |grep 进程号,查看相关信息,这样就容易定位消费流量的大户是谁了!
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
![](http://img.blog.csdn.net/20160222165744909?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
请必须是root级别用户
iftop -i eth0 -n -P
更详细的参数可以iftop -h查看
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的介绍是有共同点的,他是寻求的统一,模块,而不是定制,在统一,模块的基础上,解放出人,人,才可以被替换,这也是一种非常值得学习的理念!相关文章推荐
- 读取系统执行状态的shell脚本
- 什么叫做裸设备
- openstack vm status ERROR 的修复
- 【小镇的技术天梯】Linux fstat函数
- Linux sysfs device_attribute
- attr 和 prop 的区别
- 秒杀系统架构优化思路
- Linux环境变量的设置和查看方法
- 【FAQ】bash VS dash 字符串正则表达式匹配
- Hadoop map和reduce的个数--map和reduce数量之间的关系是什么
- linux根分区满了怎么办?
- Docker基础入门实践
- FastRWeb——为R语言搭建的Web环境
- Linux笔记(13)——历史命令
- oc加强day5-NSFileManger、NSPoint与CGPoint等简单结构体、简单数据类型的封装、集合对象的内存管理、copy、单列模式
- 如何找到Tomcat启动时的入口文件
- corosync+pacemaker+san实现web服务高可用
- AOP的xml配置实例
- popupwindow点击变色
- linux 命令整理