How many Handles should StarTeam use normally?
You may have been receiving "leaking handles" alerts for a server level process, svchost. Microsoft recommends that you increase your handle threshold from 300 to 1500. Will increasing the handle threshold for all processes from 300 to 1500 adversely affect the StarTeamServer.exe process?
The StarTeam Server could easily use more than 1,500 handles for
large configurations. It"s hard to say what value to monitor
in a particular environment. The best thing to do is monitor the
handle count during peak periods to determine what is normal and
then set the threshold to 20% above the highest normal value seen
as a means to watch for "leaks".
In some environments, several thousand handles will be normal. This is because so many things consume a handle:
- Each TCP/IP socket connection.
- Each thread.
- Each open file and directory.
- Each synchronization object (mutex, event, critical section, semaphore, etc.)
- Each active registry key.
Consequently, a multi-user server process such as the StarTeam Server will use handles proportional to the amount of work performed. There is no expected or predictable value, per se.
The issue Borland ran into in the past was with "socket leaks". These were caused by dead connections for which the server never received a "socket close" (FIN packet). R&D believes these are caused by certain firewall issues or are a symptom of highly congested environments. To compensate, R&D added the server option "SocketTimeoutMinutes", which causes inactive sockets to be closed after the specified number of minutes. This value should be slightly higher than "Inactivity Timeout" (which is set via the administrator tool), which causes sessions to be logged out after the specified amount of inactivity. Because a single connection can support multiple connections, the Inactivity Timeout does not cause the underlying socket to be closed.
Author: Daniel Rice, Randy Guck