Broadcom bce(4)网卡
一些用户已经注意到某些Broadcom网卡的问题,尤其是那些内置于戴尔硬件中的网卡。如果发现你的bce网卡行为不正常,数据包丢失或导致系统崩溃,那么你可能需要应用以下调整,特别是在amd64系统上。
在/boot/loader.conf.local中 - 添加以下内容(如果文件不存在,则创建该文件):
kern.ipc.nmbclusters =“131072”
hw.bce.tso_enable = 0 hw.pci.enable_msix = 0这将增加网络内存缓冲区的数量,直接禁用TSO,并禁用msix。
丢失很多(小)UDP数据包
如果你在bce卡上看到大量的数据包丢失,你也可以尝试改变netisr设置。这些可以在系统>高级设置下的系统可调参数选项卡上设置。在该页面上,添加两个新的可调参数:
net.isr.direct_force = 1
net.isr.direct = 1Broadcom bge(4)网卡
请参阅上文,但在设置名称中将“bce”更改为“bge”。
英特尔igb(4)和em(4)网卡
某些intel igb卡,特别是多端口卡,可能非常容易/快速耗尽mbufs资源,特别是在amd64上。下面的调整会有所改善:
在/boot/loader.conf.local中 - 添加以下内容(如果文件不存在,则创建该文件):
kern.ipc.nmbclusters =“131072”
hw.igb.num_queues = 1这将增加网络内存缓冲区的数量,并使该卡使用一个队列而不是多个队列,以减轻系统的压力。
em(4)网卡也可以使用相同的设置,只需在上面的设置中使用“em”代替“igb”即可。
英特尔ix(4)卡
在/boot/loader.conf.local中,添加以下内容:
kern.ipc.nmbclusters =“262144”
kern.ipc.nmbjumbop =“262144”作为一个sysctl(系统可调)
hw.intr_storm_threshold = 10000
如果将VLAN与Intel 10 Gb ix(4)网卡配合使用,则可能需要禁用驱动程序的某些功能才能使VLAN正常工作。例如,要在NIC ix0上应用这些设置,请运行以下命令。
ifconfig ix0 -vlanhwfilter
这应该可以了,但在某些情况下,你还可能发现除VLAN硬件过滤之外,还需要禁用TSO,可以这样做:
ifconfig ix0 -vlanhwfilter -vlanhwtso -tso
你可以将这些命令放入shellcmd标记中,以便在引导时执行以使修改持久化。
流量控制
在某些情况下,你可能希望禁用流量控制。确切的方法取决于所涉及的硬件,以下是示例。
进入/boot/loader.conf.local,添加以下字段:
在(4)中:
hw.em.fc_setting = 0
IGB(4):
hw.igb.fc_setting = 0