Linux下调整网卡的双工和速率

原贴:http://freesky.dns-dns.com/read.php?tid=46
楼主 发表于: 30天前
只看楼主 | 小 中 大
Linux下调整网卡的工作模式
现在的网卡一般都是10/100M/1000M自适应工作模式,在配置网卡参数时我们很少考虑它的工作模式,但是在路由器、交换机、代理服务器等通信量比较大的关键设备上,我们应该为它指定正确的工作模式,这样可以提高通信效率。在Linux环境下,我们可以使用系统自带的工具mii-tool(这是专门设置网卡工作模式的命令)来配置网卡工作模式。下面我们具体来谈一下它的使用方法。

  1. 查看网卡的工作模式,输入命令:

一,用mii-tool来调整

#mii-tool -v
eth0: negotiated 100baseTx-FD,link ok
product info:Vendor 00:05:be,model 8 rev 0
basic status: autonegotiation complete,link ok
basic mode:autonegotiation enabled.
Capabilities: …

从以上信息中可以看出,这块网卡工作在100M全双工自适应模式下,“100BaseTx-FD”意为100M Full Duplex。

  1. 更改网卡的工作模式,输入命令:

#mii-tool -F media [interface]

media可选的模式有100baseTx-FD、100baseTx-HD、10baseT-FD、10baseT-HD等。 Interface代表所选择的网卡,如eth0、eth1等,默认为eth0。

例如,设置网卡工作在10M半双工模式下,输入命令:
#mii-tool -F 1000baseTx-FD eth2

  1. 恢复网卡的自适应工作模式,输入命令:

#mii-tool -r eth2

二,用ethtool来调整

ethtool ethX //查询ethX网口基本设置
ethtool –h //显示ethtool的命令帮助(help)
ethtool –i ethX //查询ethX网口的相关信息
ethtool –d ethX //查询ethX网口注册性信息
ethtool –r ethX //重置ethX网口到自适应模式
ethtool –S ethX //查询ethX网口收发包统计
ethtool –s ethX [speed 10|100|1000]/ //设置网口速率10/100/1000M
[duplex half|full]/ //设置网口半/全双工
[autoneg on|off]/ //设置网口是否自协商
[port tp|aui|bnc|mii]/ //设置网口类型

例如:查询eth0网卡的工作模式:
[root@freesky ~]# ethtool eth0
Settings for eth0:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised auto-negotiation: Yes
Speed: 1000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 0
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: umbg
Wake-on: g
Current message level: 0x00000007 (7)
Link detected: yes
例如:将网卡eth1设置为100M全双工、自动协商关闭

ethtool -s eth1 autoneg off speed 100 duplex full

网卡模式修改后如果系统重启好就恢复原样了,为了保存我们修改好的设置有两种方面:
一,
ethtool设置可通过/etc/sysconfig/network-scripts/ifcfg-ethX文件保存,从而在设备下次启动时激活选项。
例如:ethtool -s eth0 speed 100 duplex full autoneg off
此指令将eth0设备设置为全双工自适应,速度为100Mbs。若要eth0启动时设置这些参数, 修改文件/etc/sysconfig/network-scripts/ifcfg-eth0 ,添加如下一行:
ETHTOOL_OPTS=“speed 100 duplex full autoneg off”
二,
将ethtool设置写入/etc/rc.d/rc.local之中如:

#!/bin/sh

This script will be executed after all the other init scripts.

You can put your own initialization stuff in here if you don’t

want to do the full Sys V style init stuff.

touch /var/lock/subsys/local
ETHTOOL_OPTS=“speed 100 duplex full autoneg off”
搜索更多相关文章:网卡 调整

猜你喜欢

转载自blog.csdn.net/Connor_xie/article/details/107234944
今日推荐