When using the VMXNET3 driver on a virtual machine on ESXi, you see significant packet loss during periods of very high traffic bursts. The virtual machine may even freeze entirely. Doing one of the following may resolve the issue:
vSphere ESXi
vCenter Server
This can occur due to a lack of receive and transmit buffer space or when receiving traffic that is speed-constrained using, for example, a traffic filter.
net-stats -l | grep -i VMNAME
<PortNumber> 5 9 <Switch Name> <MAC Address> VMNAME.eth0
vsish -e get /net/portsets/<Switch Name>/ports/<PortNumber>/vmxnet3/rxSummary | grep "1st ring"
1st ring size:512
# of times the 1st ring is full:276
vsish -e get /net/portsets/<Switch Name>/ports/<PortNumber>/vmxnet3/rxSummary | grep "running out of buffers"
running out of buffers:3198
"# of times the 1st ring is full"
and/or "running out of buffers"
is zero, then changing the ring buffer settings will not affect your symptoms. NOTE: The virtual NIC counters as seen by the vsish command are reset, when the Virtual Machine is vMotioned or is Power Cycled.
1.You can view the current values using the command:
ethtool -g <interface>
where <interface> is the interface name as it appears in your OS, e.g. eth0.
2.You can set a value using a capital G, followed by the interface name, followed by pairs of settings and values, for example:
ethtool -G <interface> rx 4096
ethtool -G <interface> rx 4096 rx-jumbo 4096 rx-mini 2048 tx 4096
Refer to The output of esxtop show dropped receive packets at the virtual switch for detailed instructions on changing these values.
RX Ring #2