一、nethogs介绍

  分享一个linux 下检测系统进程占用带宽情况的检查。来自github上的开源工具。

  它不依赖内核中的模块。当我们的服务器网络异常时,可以通过运行nethogs程序来检测是那个程序占用了大量带宽。节省了查找时间。

二、安装方法

1.在epel 源中可以直接yum 安装

yum install libpcap nethogs -y

2.源码方式安装

  2.1 安装c++ 环境  

[root@SaltMaster ~]# yum install gcc-c++ libpcap-devel.x86_64 libpcap.x86_64 ncurses*

  2.2 下载编译好的二进制文件

[root@SaltMaster ~]# git clone https://github.com/raboof/nethogs
Initialized empty Git repository in /root/nethogs/.git/
remote: Counting objects: , done.
remote: Total (delta ), reused (delta ), pack-reused
Receiving objects: % (/), 1.22 MiB | KiB/s, done.
Resolving deltas: % (/), done.

  2.3 编译并安装

[root@SaltMaster ~]# cd nethogs/

[root@SaltMaster nethogs]# make
[root@SaltMaster nethogs]# make install

  完成上面步骤就算安装完成了。如果编译失败的话,大部分是缺少编译环境。

3.使用方法

3.1 直接运行nethogs 就可以查看当前占用带宽的进程

3.2 我们来测试 找出eth0 上占用大量带宽的程序

  nethogs 网卡设备

  我们检测 eth0,运行一下命令

[root@SaltMaster ~]# nethogs eth0

图中第一行就是测试中的流量记录,表示192.168.40.250这台客户端去访问我的80 端口所占用的带宽。

在PID 那一列,可以使用 lsof -p  pid 查看进程测试。

或者用lsof -i :端口号,来查看是哪些进程在占用。如查看80端口  lsof -i :80

linux 利用nethogs查看某进程的网卡流量的更多相关文章

  1. 利用nethogs查看哪些进程占用网络带宽

    一.安装nethogs centos6版本安装: 1.安装依赖包 [root@hlsms-fensheng- ~]# yum install ncurses* 已加载插件:fastestmirror, ...

  2. Linux 平台如何查看某个进程的线程数?

    Linux 平台如何查看某个进程的线程数?   三种方法:1. 使用top命令,具体用法是 top -H 加上这个选项,top的每一行就不是显示一个进程,而是一个线程. 2. 使用ps命令,具体用法是 ...

  3. Linux有问必答:Linux上如何查看某个进程的线程

    原创:LCTT https://linux.cn/article-5633-1.html 译者: GOLinux本文地址:https://linux.cn/article-5633-1.html201 ...

  4. 在GNU Linux中怎样得到一个进程当前的流量

    /*********************************************************************  * Author  : Samson  * Date   ...

  5. Linux下如何查看哪个进程占用内存多?

    1.top top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器 可以直接使用top命令后,查看%MEM的内容.可以选择按进程查看或者 ...

  6. linux利用grep查看打印匹配的下几行或前后几行的命令

    转自:http://www.itokit.com/2013/0308/74883.html linux系统中,利用grep打印匹配的上下几行   如果在只是想匹配模式的上下几行,grep可以实现.   ...

  7. Linux下如何查看哪些进程占用的CPU内存资源最多

    linux下获取占用CPU资源最多的10个进程,可以使用如下命令组合: ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head linux下获取占用 ...

  8. LINUX中如何查看某个进程打开的网络链接有多少

    使用lsof命令,比如查看sshd这个程序的网络连接使用命令 lsof -i | grep ^sshd

  9. linux下怎样查看哪些进程占用swap空间

    for i in `cd /proc;ls |grep "^[0-9]"|awk ' $0 >100'` ;do awk '/Swap:/{a=a+$2}END{print ...

随机推荐

  1. flowable IdmEngine和IdmEngineConfiguration

    IdmEngineConfiguration 继承了 AbstractEngineConfiguration. 一.创建EngineConfiguration实例 IdmEngineConfigura ...

  2. JMter请求参数中文显示乱码

    如上图所示,上传的参数为中文的时候,显示不出来,解决方法如下: 1.进入Jmter安装文件bin文件夹,找到文件jmeter.properties 2.在该文件找到jsyntaxtextarea.fo ...

  3. xshell配置密码公钥登录

    1:生成公钥 2:密钥类型选择为rsa,长度为2048,并点击下一步,如下所示: 这里的密码是给密钥设置了密码,那么在使用这个密钥时也要输入密码,也可以设置为空 3:保存密钥 (1):当你选择了输入密 ...

  4. I.MX6 linux tslib Corrupt calibration data

    I.MX6 linux tslib Corrupt calibration data 一.tslib出错 Corrupt calibration data 二.解决方法: ...... if [ -f ...

  5. 【剑指offer】数组中出现次数超过数组长度一半的数字,C++实现

    原创博文,转载请注明出处! # 题目 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字.例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}.由于数字2在数组中出现了5次,超过 ...

  6. 细说C语言的优先级和结合性

    Table0. 为什么要掌握优先级1. 优先级1.1 优先级图表1.2 运算符实例1.3 优先级顺口溜2. 结合性3. 参考资料 写代码的时候,常会翻看的一个表就是“c语言运算符优先级表”.c的运算符 ...

  7. 如何最快速地将旧的 NuGet 包 (2.x, packages.config) 升级成新的 NuGet 包 (4.x, PackageReference)

    最近我将项目格式进行了升级,从旧的 csproj 升级成了新的 csproj:NuGet 包管理的方式也从 packages.config 升级成了 PackageReference.然而迁移完才发现 ...

  8. iOS 模态框覆盖导航栏

    1.使用window 覆盖 2.试图添加到 如果有一个场景:首页三个tab,要求只覆盖Navigation ,而不影响Tab使用,那么使用window 覆盖就不满足了.      这里我们可以使用如下 ...

  9. Python3 shutil模块

    平时我们总会用到复制文件的命令,Python中自带了相应模块,那就是shutil模块,下面是shutil模块的分析及用法. 1.copyfileobj(fsrc, fdst, length=16*10 ...

  10. 《DSP using MATLAB》示例Example 8.16

    %% ------------------------------------------------------------------------ %% Output Info about thi ...