目录

  • 识别网卡
  • 命令行参数
  • 附加配置
  • 技术支持

一、识别网卡
e1000e驱动支持Intel所有的GbE PCIe网卡,除了82575,82576,基于82580系列的网卡。
提示:Intel(R) PRO/1000 P Dual网卡是支持e1000,但不支持e1000e,因为82546部分支持PCIe。

更多信息关于怎么识别你的网卡,去官网的 Adapter & Driver ID Guide:
  http://support.intel.com/support/go/network/adapter/idguide.htm

对于最新的Intel网卡驱动,参考下面网站,输入网卡名或者类型就能搜索到:
  http://support.intel.com/support/go/network/adapter/home.htm

二、命令行参数
参数的默认值一般都是推荐的设置,除非是有特别提示。
提示:InterruptThrottleRate,RxIntDelay, TxIntDelay, RxAbsIntDelay, TxAbsIntDelay,

以上参数的详细信息参考:http://www.intel.com/design/network/applnots/ap450.htm

InterruptThrottleRate
有效范围: 0,1,3,4,100-100000(0=off, 1=dynamic, 3=dynamic conservative,4=simplified balancing)
默认值: 3

驱动可以限制网卡为收到的报文生成中断的数量的频率,即每秒生成的中断个数。驱动通过设置网卡每秒中断数量的最大值来实现这个功能。
设置InterruptThrottleRate的值大于等于100,会设置网卡每秒发送出去的中断的最大值,即使受到了更多的报文。

这样减少了系统中断的负载并能降低CPU利用率,但是会增加处理报文的延迟。

驱动默认是假定InterruptThrottleRate的值是8000,综合来看,这对所有流量类型的报文都是很好的,但是缺乏对小报文的性能和延迟。

硬件每秒能处理更多的小报文,由此一个自适应的中断调节算法就应运而生了。

驱动有2种自适应模式(设置为1,3),都能基于它收到的流量来动态调节InterruptThrottleRate的值。

在判断出收到流量的类型的最后一个时间段,会调整InterruptThrottleRate到一个合适的值。
算法对每一个时间间隔收到的流量进行分类,一旦类型确定了,InterruptThrottleRate的值就会调整到这个类型的最佳的值。有3种已经定义好的类型:

  • "Bulk traffic" 适用于大流量的正常大小的报文
  • "Low latency" 适用于小流量或占大比例的小报文的流量
  • "Lowest latency" 适用于几乎全是小报文或者小流量

在动态保守模式(dynamic conservative),InterruptThrottleRate在"Bulk traffic"类型是设置为4000。

如果是"Low latency"或者"Lowest latency"类型,InterruptThrottleRate会逐步的上升,直到20000。

这个默认的模式对大多数应用程序都很适用。

对那些对低延迟至关重要的情况,比如集群或网格计算,算法会降低延迟甚至会设置成模式1,在模式1下,会逐步增长InterruptThrottleRate到70000,类型为"Lowest latency"。

在精简模式(simplified),中断的速率是基于TX与RX流量的比例来设置的。如果bps(bytes per second)速率近似相同,中断速率会慢慢下降到每秒2000个中断。

如果流量大多数的是发送或者大多数的是接收,中断速率能高达8000。

Linux e1000e网卡驱动的更多相关文章

  1. linux enc28j60网卡驱动移植(硬件spi和模拟spi)

    本来想移植DM9000网卡的驱动,无奈硬件出了点问题,通过杜邦线链接开发板和DM9000网卡模块,系统上电,还没加载网卡驱动就直接崩溃了,找不到原因...刚好手上有一个enc28j60的网卡模块,于是 ...

  2. Linux PCI网卡驱动的详细分析

    学习应该是一个先把问题简单化,在把问题复杂化的过程.一开始就着手处理复杂的问题,难免让人有心惊胆颤,捉襟见肘的感觉.读Linux网卡驱动也是一 样.那长长的源码夹杂着那些我们陌生的变量和符号,望而生畏 ...

  3. e1000e网卡驱动在麒麟3.2.5上编译安装

    一.清空原驱动 因为系统安装完毕后系统中自带了e1000e的网卡驱动,会影响后面自行编译的驱动 所以先用find命令找出并删除掉所有关于e1000e的驱动文件 find / -name "* ...

  4. linux查看网卡驱动

    [root@hudson ~]# yum install ethtool -y [root@hudson ~]# ethtool -i em1driver: bnx2version: 2.2.3fir ...

  5. linux 编译网卡驱动

    将smsc7500网卡驱动拷贝到/drive/net/usb文件夹下 拷贝ioctl_7500.h  smsc7500usbnet.c smsc7500version.h smsclan7500.h ...

  6. 怎样在linux下安装网卡驱动

    由于我电脑的各种奇葩问题的存在,导致我装上Ubuntu13.10之后网卡居然无法使用,坚持了挺久使用无线网,终于坚持不住了,百度了各种解决方式,终于成功解决.这里也记录一下我的解决过程,供大家参考.大 ...

  7. 新装Linux系统没有网卡驱动的解决办法和步骤

    Linux下查看网卡驱动和版本信息 - CSDN博客 https://blog.csdn.net/guyan1101/article/details/72770424/ 检查网卡是否加载 - Linu ...

  8. CentOS下安装网卡驱动

    前言最近,一台机器从FreeBSD换为CentOS,一路安装顺利.完事之后发现,网卡没有启用,dmesg | grep eth 命令确定网卡没有驱动导致的.于是开始了一路艰辛的安装过程. 安装过程1. ...

  9. linux 系统网卡无法识别,缺少驱动

    #linux网卡驱动安装# Linux设备加载 #lsmod Module Size Used by e1000e 查看硬件设备 ls /usr/share/hwdata 查看pci网卡设备 lspc ...

随机推荐

  1. 优雅的QSignleton (五) 优雅地进行GameObject命名

      这段时间空调吹感冒了,休息了好久 ​ 本篇介绍QSingleton最重要的功能,是它让QSingleton称得上优雅.相关内容之前介绍过. 代码如下: MonoSingletonPath.cs n ...

  2. Linux mongodb安装、启动、运行

    1.下载     wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.2.4.tgz     2.安装     tar -zxvf  ...

  3. 如何用hexo搭建个人博客. 亲测有效

    搭建博客: 安装node.js和git 以管理员身份进入cmd. 输入:  npm install -g cnpm --registry=https://registry.npm.taobao.org ...

  4. Python实现爬虫从网络上下载文档

    最近在学习Python,自然接触到了爬虫,写了一个小型爬虫软件,从初始Url解析网页,使用正则获取待爬取链接,使用beautifulsoup解析获取文本,使用自己写的输出器可以将文本输出保存,具体代码 ...

  5. vue.js 组件-全局组件和局部组件

    这两天学习了Vue.js 感觉组件这个地方知识点挺多的,而且很重要,所以,今天添加一点小笔记. 首先Vue组件的使用有3个步骤,创建组件构造器,注册组件,使用组件3个方面. 代码演示如下: <! ...

  6. CodeTimer 代码性能计数器

    收集整理老赵 的”CodeTimer“. 用于测试代码性能.详见可参考 老赵原文 代码如下: using System; using System.Diagnostics; using System. ...

  7. linux总结及常用命令

    一.操作系统的作用: 1.是现代计算机系统中最基本和最重要的系统软件  2.承上启下的作用  3.向下对硬件操作进行封装  4.向上对用户和应用程序提供方便访问硬件的接口 二.不同领域的操作系统: 1 ...

  8. JS 定时器,定时调用PHP

    $(function() { var voiceplay=function(){ var site = location.href.split('_cms')[0] + '_cms/'; $.ajax ...

  9. admin添加用户时报错:(1452, 'Cannot add or update a child row: a foreign key constraint fails (`mxonline`.`django_admin_l

    在stackoverflow找到答案: DATABASES = { 'default': { ... 'OPTIONS': { "init_command": "SET ...

  10. docker和docker compose常用操作命令

    首先区分一下docker中几个概念 Image:镜像,相当于一个root文件系统,不包含任何动态数据 Container:容器,镜像运行时的实体,实质是进程,容器进程运行于属于自己的独立的命名空间 d ...