34.10. 调优设备驱动程序和 NIC
在 RHEL 中,内核模块为网络接口控制器(NIC)提供驱动程序。这些模块支持调优和优化设备驱动程序及 NIC 的参数。例如,如果驱动程序支持延迟接收中断的生成,您可以降低相应参数的值,以避免耗尽接收描述符。
并非所有模块都支持自定义参数,功能依赖于硬件,以及驱动程序和固件版本。
34.10.1. 配置自定义 NIC 驱动程序参数
许多内核模块支持调优驱动程序和网络接口控制器(NIC)的设置参数。您可以根据硬件和驱动程序自定义设置。
如果您在内核模块上设置了参数,RHEL 会将这些设置应用到所有使用这个驱动程序的设备。
先决条件
- 已在主机上安装了 NIC 。
- 为 NIC 提供驱动程序的内核模块支持所需的调优功能。
- 您在本地登录或使用与用于您要更改参数的驱动程序不同的网络接口。
流程
确定驱动程序:
# ethtool -i enp0s31f6 driver: e1000e version: ... firmware-version: ... ...
请注意,某些功能可能需要特定的驱动程序和固件版本。
显示内核模块的可用参数:
# modinfo -p e1000e ... SmartPowerDownEnable:Enable PHY smart power down (array of int) parm:RxIntDelay:Receive Interrupt Delay (array of int)
有关参数的详情,请查看内核模块的文档。有关 RHEL 中的模块,请参阅
kernel-doc
软件包提供的/usr/share/doc/kernel-doc-<version>/Documentation/networking/device_drivers/
目录中的文档。创建
/etc/modprobe.d/nic-parameters.conf
文件,并为模块指定参数:options <module_name> <parameter1>=<value> <parameter2>=<value>
例如,要启用端口节能机制,并将接收中断的产生设置为 4 个单元,请输入:
options e1000e SmartPowerDownEnable=1 RxIntDelay=4
卸载模块:
# modprobe -r e1000e
警告卸载活动网络接口使用的模块,立即终止连接,您可以将自己锁在服务器之外。
载入模块:
# modprobe e1000e
重新激活网络连接:
# nmcli connection up <profile_name>
验证
显示内核消息:
# dmesg ... [35309.225765] e1000e 0000:00:1f.6: Transmit Interrupt Delay set to 16 [35309.225769] e1000e 0000:00:1f.6: PHY Smart Power Down Enabled ...
请注意,并非所有模块都将参数设置记录到内核环缓冲区。
某些内核模块为
/sys/module/<driver>/parameters/
目录中的每个模块参数创建文件。这些文件的每一个都包含此参数的当前值。您可以显示这些文件以验证设置:# cat /sys/module/<driver_name>/parameters/<parameter_name>