ubuntu设置网卡速率

转载 2015年07月10日 15:49:18

没有比购买一个完全的Linux兼容网卡更好的Linux投资了。大部分的Linux厂商在他们网站上都有一份兼容的硬件列表:在开始连接你的机器到网络之前请仔细阅读它。如果你没有找到任何在本地的计算机商店可以买到的型号,那么同系列也是可以的。大多数网卡都能正常工作,但只有完全兼容的可为您提供无差错的,持续的吞吐量。

Linux缺省会在网卡连接到路由器上时自动协商判断网卡的速度和双工。配置一个路由器端口自动协商速度和双工往往是不足够的,因为不同的协议标准执行上常会有分歧。

实际上,网卡即使协商失败也会工作,但这通常会导致在网卡上使用ifconfig -a命令时看到许多冲突类型的错误和极低的性能。在故障排除时不要只把这类错误局限于协商失败;问题也可能是坏的网卡,路由器端口,或者网线导致的。

使用mii-tool

mii-tool是一个原始的设置网卡速度和双工的Linux工具。它以注定会被抛弃,而由新的ethtool命令取而代之,但是很多老的网卡只支持mii-toll,所以你还需要知道它。不带任何参数的执行命令会产生一个简要的状态报告,如下面样例所示,对于不支持的网卡将提示Operation not supported信息。mii-tool不兼容的网卡往往仍然可以工作,但是你需要根据制造商的指南来设定速度和双工,而不能自动协商。

[root@bigboy tmp]# mii-tool
SIOCGMIIPHY on 'eth0' failed: Operation not supported
eth1: 100 Mbit, half duplex, link ok
[root@bigboy tmp]#

通过-v参数使用verbose模式,你可以获得更多更详细的信息。在这个例子中,协商正常,网卡选择100Mbps,全双工模式(FD)。

[root@bigboy tmp]# mii-tool -v
eth1: negotiated 100baseTx-FD, link ok
  product info: vendor 00:10:18, model 33 rev 2
  basic mode: autonegotiation enabled
  basic status: autonegotiation complete, link ok
  capabilities: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
  advertising: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
  link partner: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD flow-control 
[root@bigboy tmp]#

用mii-tool设置网卡的速度参数

你可以通过-F参数强行指定网卡的速度和双工,选项包括:100baseTx-FD,100baseTx-HD,10baseT-FD,或者10baseT-HD。记住,你可能丢失网络连接如果你网卡的强制速度/双工模式与路由器不匹配的话:

[root@bigboy tmp]# mii-tool -F 100baseTx-FD eth0

不幸的是,除了把这个命令放到/etc/rc.local文件中让它在每次启动结束前执行,或者创建你自己的启动脚本如果你需要它更早被执行,我们没有办法让它在重启后永久生效。

使用ethtool

ethtool命令被指定在不久的将来替代mii-tool,目的是支持新的网卡。

用设备名称作为参数,命令可以提供其状态。这里我们可以看到设备eth0没有设置自动协商并设定为100 Mbps速度,全双工。在输出的顶端列出了其所支持的模式。

[root@bigboy tmp]# ethtool eth0
Settings for eth0:
       Supported ports: [ TP MII ]
       Supported link modes:   10baseT/Half 10baseT/Full
                               100baseT/Half 100baseT/Full
       Supports auto-negotiation: Yes
       Advertised link modes:  10baseT/Half 10baseT/Full
                               100baseT/Half 100baseT/Full
       Advertised auto-negotiation: No
       Speed: 100Mb/s
       Duplex: Full
       Port: MII
       PHYAD: 1
       Transceiver: internal
       Auto-negotiation: off
       Supports Wake-on: g
       Wake-on: g
       Current message level: 0x00000007 (7)
       Link detected: yes
[root@bigboy tmp]#

用ethtool设置网卡的速度参数

不同于mii-tool,ethtool可以通过设定设备配置脚本里的ETHTOOL_OPTS变量而永久生效。在下面例子里,设定了在下次重启时设置100 Mbps,全双工和不自动协商:

#
# File: /etc/sysconfig/network-scripts/ifcfg-eth0
# 
DEVICE=eth0
IPADDR=192.168.1.100
NETMASK=255.255.255.0
BOOTPROTO=static
ONBOOT=yes
ETHTOOL_OPTS="speed 100 duplex full autoneg off"

你可以通过ifup和ifdown命令关闭和再激活设备,来测试这些参数。这些设定也可以通过在命令行中使用-s参数改变,后面跟上设备名称和相关配置参数。

[root@bigboy tmp]# ethtool -s eth1 speed 100 duplex full autoneg off
[root@bigboy tmp]#

Linux的man命令提供了ethtool选项的更详细说明,但你可以通过只输入ethtool命令获得一个快速的摘要。

[root@bigboy tmp]# ethtool
...
...
        ethtool -s DEVNAME \
                [ speed 10|100|1000 ] \
                [ duplex half|full ] \
                [ port tp|aui|bnc|mii|fibre ] \
...
...
[root@bigboy tmp]#

关于双工设置

缺省地,Linux网卡会跟交换机协商速度和双工设定。这通过交换叫做FLP(Fast Link Pules)的电子信号实现。当速度和双工被强制指定的时FLP就不会发送。当网卡使用自动协商模式而且检测到一个健康的,可用的连接时却没有收到FLP信号,它会抱错并把自己的双工设为半双工模式,有时它也会设置速度到低一级的值。因此,这样可能交换机端口是强制100 Mbps全双工,但是自动协商的网卡把自己设为100Mbps半双工,结果产生错误。同样情况也可能发生在交换机上,如果交换机端口设为自动协商而服务器网卡强制100 Mbps全双工。最好是要么强制交换机端口和网卡都是自动协商,要么强制设定相同的速度和双工值。

Ubuntu中查看网卡信息的基础知识

系统:ubuntu 10.04 1:  pci设备的网卡 lspci -v Ubuntu 中,通常有线网卡为eth0,无线网卡则为wlan0,后续增加的以此类推(可能某些无线网卡型号命名为eth...
  • ldl22847
  • ldl22847
  • 2013年01月05日 14:18
  • 33066

Linux监控网络流量和限制网卡速率

限制网卡速率 工具:wondershaper ubuntu 下安装 sudo apt-get install wondershaper 使用 sudo wondershaper wlan0 10...
  • lyh__521
  • lyh__521
  • 2015年10月20日 21:51
  • 1844

改变网络接口速度和协商方式miitool和ethtool

refer to: http://blog.chinaunix.net/uid-793704-id-2545641.html 1、mii-tool 配置网络设备协商方式的工具;   1.1...
  • longyinyushi
  • longyinyushi
  • 2016年02月26日 16:50
  • 4181

Linux查看网卡是千兆还是万兆网卡

目前用过的两个命令: 1、ethtool  #ethtool em4 Settings for em4: Supported ports: [ TP ] Supported link modes:...
  • ydyang1126
  • ydyang1126
  • 2016年04月13日 09:11
  • 13610

Ubuntu16设置手动连接以太网

之前一直都是在使用Wifi,在宿舍的使用宽带拨号连接也没问题。 我是使用pppoeconf来进行宽带连接的。 sudo pppoeconf //做个是启动pppoe管理器的配置 pon dsl...
  • sinat_32079337
  • sinat_32079337
  • 2017年05月02日 17:40
  • 2003

linux下怎么判断网卡速率?

我们都知道ifconfig -a 可以列出所有网卡,但是怎么判读是千兆网卡还是百兆网卡呢? 1. 判断是千兆网卡还是百兆网卡    ethtool ethx 查看支持的速率   实际网卡速率...
  • liugongfeng
  • liugongfeng
  • 2015年12月11日 15:31
  • 23043

Linux查看网卡是千兆还是万兆网卡

目前用过的两个命令:1、ethtool语法:ethtool 网络接口名 #ethtool em4 Settings for em4: Supported ports: [ TP ]...
  • ydyang1126
  • ydyang1126
  • 2017年03月09日 10:09
  • 838

Ubuntu系统关机时将网卡工作模式由千兆自动切换至百兆非自适应

1.需要准备的知识点 网卡工作模式设置命令:ethtool -s eth1 autoneg off speed 100 duplex full 网卡状态读取命令:ethtool eth1 用 e...
  • snaking616
  • snaking616
  • 2017年12月07日 14:22
  • 78

ubuntu设置网卡速率

在公司下载代码的时候,发现自己的速率只有10M左右,太慢了~,而且同步代码更是巨卡。 在网上查看原因没找到,后来经过公司的IT来看,说是我的网络设置有问题,看他在那里忙活了一会,就ok了。我...
  • manjianchao
  • manjianchao
  • 2017年03月10日 19:30
  • 1007

ubuntu 查看网卡 数据包处理 速度

ubuntu 查看网卡 数据包处理 速度 sar -l 1 10 首先要安装sar ,使用 apt-get install atsar sar 命令中的 "-l"参数是 net-interf (...
  • svap1
  • svap1
  • 2014年09月28日 11:02
  • 1567
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ubuntu设置网卡速率
举报原因:
原因补充:

(最多只允许输入30个字)