I have been experiencing on a number of occastions a loss of network connectivity on my VM server network. After much analysis I have found in the errors logs excessive NetQueue messages similar to:-
2012-06-14T19:45:09.053Z cpu6:2092)<6>tg3 : vmnic3: RX NetQ allocated on 1
2012-06-14T19:45:09.053Z cpu6:2092)<6>tg3 : vmnic3: NetQ set RX Filter: 1 [00:50:56:6F:95:16 0]
2012-06-14T19:45:44.054Z cpu7:2092)<6>tg3 : vmnic3: NetQ remove RX filter: 1
2012-06-14T19:45:44.054Z cpu7:2092)<6>tg3 : vmnic3: Free NetQ RX Queue: 1
The performance enhancement from NetQueue does not benefit 1 Gb NICs. This feature spreads the network load across multiple CPUs, and a single CPU can handle around 3 Gb of network load.
Therefore, if there are no 10 Gb NICs on the host, you can disable NetQueue for the host using these commands:
#esxcli system settings kernel set -s netNetqueueEnabled -v FALSE
#reboot
If there are 10 Gb NICs on the host in addition to the tg3
NICs, then only disable NetQueue for the tg3
driver.
To disable NetQueue for the tg3
driver, run these commands:
#esxcfg-module -s force_netq=0,0,0,0 tg3
#reboot
Note: The number of zeroes (0
) in the force_netq
parameter array must be the same as the number of tg3
devices on your system. For example, the preceding command applies if you have 4 tg3
NICs, which can be verified using the esxcfg-nics --list
command.
To revert the change or to enable NetQueue for the tg3
driver, run these command:
# esxcfg-module -s force_netq=1,1,1,1 tg3