VMware Cloud Community
istaines123
Contributor
Contributor

Windows hosts unable to open sockets with “No buffer space available” error

I have a customer that is running multiple (about 😎 Windows 2008 guests on ESX 4 server.  Java applications on the Windows 2008 guests are generating the error message “No buffer space available (maximum connections reached?)”.   At the guest O/S level this error implies that the guests have exhausted the available TCP/IP port range available to them.  I understand on Windows 2008 this is the range 5000-65534

Many of the applications being hosted on the guests are client server applications that may consume a large number of sockets.  There are also potentially unknown applications running on some of the guests that may be consuming sockets inadvertently.  When I check specific individual Windows 2008 guests that I am responsible for  with netstat, I do not see enough sockets in use to indicate that a specific guest O/S has exceeded its own limitations.  I understand windows 2008 should be able to open tens of thousands of sockets before generating this type of error message.

I am concerned that even though individual guest machines have not opened enough sockets to exceed any port limitations on the guest O/S that the aggregate of all the sockets opened on all of the guest machines may have exceeded some limit on the host ESX server.

Can someone tell me how the ESX server maps virtual TCP/IP sockets to actual sockets on the host ESX server and if reaching a limit on the host could manifest itself in this error on the guest machines? 

Would one expect the host machine to generate some kind of error message in this situation and what might this be?

(Note that I do not have all the information here.  The application I support is a client on one of the guest machines, and I do not have access to the ESX server.  I am just tasked to explain why the guest O/S is generating this error when conditions on the guest do not seem to warrant it.)

0 Kudos
1 Reply
kjb007
Immortal
Immortal

Sounds like the app may have a leak.

Guests on ESX have their own tcp/ip stack, it's not managed through ESX, per se.  The host in this case is providing a vSwitch which is functioning as a Layer 2 forwarder to your physical switch.

-KjB

vExpert/VCP/VCAP vmwise.com / @vmwise -KjB
0 Kudos