The output of esxtop shows dropped receive packets at the virtual switch (1010071)
Warning: The changes described in this article may impact guest networking at the time of the change. You may need to reboot the guest to recover. It is recommended that you schedule downtime for the applications running within the guest to which you are making changes prior to performing the steps.
E1000 Virtual Network Driver
- In Linux – Run the command ethtool -G eth<x> rx <value>
- In Windows – Load the Intel pro driver from Intel website on to the guest operating system to be able to modify the E1000 buffer size.
VMXNET2 / Enhanced VMXNET2 Virtual Network Driver on ESX/ESXi 3.x.x
The maximum Rx buffers supported are 128, whereas the default is 120. To increase the default value, add the following line in the virtual machine’s .vmx configuration file:
where <x> refers to your virtual NIC
VMXNET2 / Enhanced VMXNET2 Virtual Network Driver on ESX/ESXi 4.x.x
The maximum Rx buffers is increased to 512, whereas the default is 150. To increase the default value, add the following line in the virtual machine’s .vmx configuration file.
Ethernet<x>.numRecvBuffers=<value>where <x> refers to your virtual NIC and < value> refers to the new value for the Rx buffer size.
The default Rx ring size is 256 and the maximum is 4096. The default setting can be modified from within the guest operating system.
ethtool -G eth<x> rx <value>
Where <x> refers to the Ethernet interface ID in the guest operating system, and <value> refers to the new value for the Rx ring size.
For Windows guest operating systems
In ESX/ESXi 3.x.x, you cannot configure the ring size of the VMXNET3 network interface card in Windows guest operating systems.
In ESX/ESXi 4.0 Update 2 and later, you can configure the following parameters from the Device Manager (a Control Panel dialog box) in Windows guest operating systems: Rx Ring #1 Size, Rx Ring #2 Size, Tx Ring Size, Small Rx Buffers, and Large Rx Buffers.
The default value of the size of the first Rx ring, Rx Ring #1 Size, is 512. You can modify the number of Rx buffers separately using the Small Rx Buffers parameter. The default value is 1024.
For some processes (for example, traffic that arrives in burst), you might need to increase the size of the ring, while for others (for example, applications that are slow in processing receive traffic) you might increase the number of the receive buffers.
When jumbo frames are enabled, you might use a second ring, Rx Ring #2 Size. The default value of RX Ring #2 Size is 32. The number of large buffers that are used in both RX Ring #1 and #2 Sizes when jumbo frames are enabled is controlled by Large Rx Buffers. The default value of Large Rx Buffers is 768.
- If the driver is already loaded, unload it by entering the following command:
# rem_drv vmxnet3s
- To change the size of Rx rings, edit the vmxnet3.conf file available in the /kernel/drv/amd64 and /kernel/drv/ directories.
- Reload the driver by entering the following commands:
# add_drv -i "pciex15ad,7b0" vmxnet3s
# ifconfig vmxnet3sx plumb