I'm seeing the same thing with our VM indexers and Intermediate forwarders. I've load Wireshark some of my indexers and forwarders. What I've seen is that the intermediate and indexers are sending tcp resets immediately and tcp zero windowing. Digging in further I started to watch disk transfer rate, system processor queue, Network bytes in/out, thread counts, thread status, cpu % time. I recommend watch these stats to help diagnose your issue. Also try using a sniffer like wireshark.
The TCP reset seem to occur in bulk when System processor queue and disk transfer rates are high. System processor queue usually mean you have threads waiting to be processed. I am assume that in my case during high disk transfer time I am not able perform network tasks fast enough and commit to disk causing TCP zero windowing and TCP resets.
Adding more processors to a VM may cause more problems as all processors have to be schedule simultaneously or the VM waits to long to be schedule on the physical resources.
If you have an antivirus application on my servers exclude all splunk process and directories. This seems to help.
If you have a bunch of thread queuing/waiting try disabling no critical services.
If you are on a windows server you can disable tcp auto tuning.
Windows has three primary reg keys that can help: TcpTimedWaitDelay (Tcp Connection release after fin or reset), MaxUserPort (maxium number user ports for applications), TcpNumConnections. This settings done help too much as auto tuning is fairly good in windows server 2008 and 2012.
For more information try reading;
Windows TCP tuning
... View more