创建虚拟机时添加默认网卡
查看Ubuntu虚拟机中的网卡类型,Intel 82545EM Gigabit Ethernet NIC即为E1000,是Intel的经典千兆以太网卡,支持标准的以太网协议
|
|
通过以下命令可以观察到E1000网卡为单队列网卡,所有的网络数据都通过这个单一的队列传输。在多核CPU的系统中,这种设计无法充分利用多个CPU核心进行并行处理,导致CPU的某个核心可能会变成瓶颈,无法充分发挥硬件性能。
|
|
修改网卡为万兆网卡
VMware网卡修改目前没有修改界面,只能在配置文件中修改,在修改配置文件前需要将虚拟机关闭。配置文件为虚拟机目录中的“虚拟机名.vmx”文件(例如:UbuntuDPDK.vmx),可使用文本编辑器编辑,将其中ethernet*.virtualDev字段的e1000修改为vmxnet3,vmxnet3是由VMware开发的、专为虚拟化环境设计的虚拟网络接口卡,它是VMXNET系列的第三个版本,也是目前最先进的版本,提供了极高的网络性能和低延迟
|
|
随后再次启动虚拟机即可验证网卡,已变为万兆网卡
|
|
通过以下命令可以观察到vmxnet3网卡为多队列网卡,现代的网卡通常支持多个接收队列和多个发送队列。每个队列对应一个CPU核心,从而实现数据处理的负载均衡。在这种设计下,数据可以被分配到多个队列中,由多个核心并行处理。
|
|
每一行代表网络接口ens192的一个中断源:
- 中断号(如66、67):每一行的第一个数字代表了该中断源的中断号
- CPU核心统计:每列之后的数字代表该中断在各个CPU核心上的触发次数,例如:ens192-rxtx-0在CPU核心4上触发了276次中断,而在其他核心上没有触发;ens192-rxtx-1则在CPU核心0上触发了2次中断
- 中断类型:中断是通过消息信号中断(Message Signaled Interrupt)发送的,通常这种中断方式比传统的线路中断更高效
- 中断源:如ens192-rxtx-0的表示网络接口ens192中的接收和发送队列,rxtx代表接收(RX)和发送(TX)流量,中断ens192-rxtx-0的源是第0个接收/发送队列
- 中断事件:如ens192-event-8的表示与事件驱动的中断相关,通常用于表示接口的状态变更或者特殊的网络事件