linux(cent os)查找占用流量最大的程序和优化

    最近发现在线的一台服务器网络流量都占用挺大的,但不知道是哪个程序占用,看可否优化一下。由于是正式环境不敢乱安装大型的流量分析软件,找到了之前用过的小软件 nethogs 和 iftop。

nethogs 很精小,安装包只有46k.安装完也占用112k空间。

安装 nethogs和iftop:

sudo yum install nethogs
sudo yum install iftop

使用:

  按端口查看

iftop -n -P

从上图可以看出redis端口占用的流量最大,而且走的是外网IP,即占用的公网的流量,发布的服务这里很显示 需要优化。

按程序查看

nethogs

从上图可以看出前第1个java程序占用的最多宽带1295 .146kb/sec,这个程序也是使用了redis,再与上图结合问题大概也可以推导出来是该应用的redis占用公网大所致,别外这个java程序还是一个传输实时数据到第三方的应用,因此app占用的流量显示比redis还大。

优化:

发现redis使用的是外网IP,修改成内网的IP

 应用服务器优化后的图

上图红色圈圈是优化后更新的效果,在连接数不变的情况下,公网的进口流量明显从原来的7m下降到4m。

应用服务器连接 redis服务器网络情况

上图红色圈圈是优化后更新的效果,公网出口流量从4m以上降到2m以下

仅一个小改动,两台服务器的公网流量同时下降,节约不少成。

=================================================================

nethogs常用示例:

  • 查看所有网卡的流量情况:
nethogs
  • 查看 eth0 网卡的流量情况:
nethogs eth0
  • 查看流量最大的 5 个进程:
nethogs | head -n 5
  • 设置刷新频率为 5 秒:
nethogs -d 5
  • 查看流量最大的端口:
iftop -n -P

===================================================================

iftop 常用的示例:

  • 查看所有网卡的流量情况
iftop

这将显示所有网卡的流量情况,并将流量最大的端口排在最上面。

  • 查看 eth0 网卡的流量情况
iftop eth0

这将显示 eth0 网卡的流量情况。

  • 查看流量最大的 5 个进程
iftop | head -n 5

这将显示流量最大的 5 个进程。

  • 设置刷新频率为 5 秒
iftop -d 5

这将设置刷新频率为 5 秒。

  • 查看流量最大的端口
iftop -n -P

这将显示流量最大的端口。

  • 查看指定 IP 地址的流量情况
iftop -i eth0 -a 192.168.1.1

这将显示 eth0 网卡中与 IP 地址为 192.168.1.1 的计算机的流量情况。

  • 查看指定端口的流量情况
iftop -i eth0 -p 80

这将显示 eth0 网卡中与端口为 80 的连接的流量情况。

  • 查看指定进程的流量情况
iftop -i eth0 -m 12345

这将显示 eth0 网卡中 PID 为 12345 的进程的流量情况。

  • 保存流量数据
iftop -i eth0 -b > traffic.log

这将将 eth0 网卡的流量数据保存到 traffic.log 文件。

  • 12
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qyhua

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值