This error is known to programmers as ERROR_TOO_MANY_OPEN_FILES. This error comes from a limitation of the operating system as it allocates a certain number of memory resources in keeping information about open files. Typically these resources are more than enough for even applications with heavy file input/output activity. However, if the application is poorly designed it could still exhaust these resources and cause this error.
The end user can do little to fix the source of the problem itself, but he or she can try to install the latest service packs or patches for that application. A reboot might also help in certain conditions.
The operating system defines the number of file descriptors that any process can open at one time. When that number has been reached no more files can be opened. This is defined by the C run-time libraries. There is a 512 limit for the number of files that can be open at any one time. Attempting to open more than the maximum number of file descriptors or file streams causes program failure. The programmer can use the _setmaxstdio function to change this number (set the new maximum for number of simultaneously open files at the stdio level, up to 2048). Please see the Microsoft link below “File handling in C”. The error can also occur if an application opens files without closing them.
Another situation is when there are too many Winsock applications running simultaneously, but this is unlikely because most operating systems have many socket handles available. This error can also occur if an application opens and closes sockets often, without closing them properly (leaving them open as "orphans").
If there is an error in the program the user has few choices:
- restart the application and the OS hoping that the particular circumstances that determined the error will not happen again. Closing and restarting the application will recover the orphaned sockets. Exiting all Winsock applications will force the Winsock DLL to unload.
- obtain and apply the latest service pack/hotfix for both the application and OS
- write the details of the error and the circumstances and obtain support from the application vendor.
Build a great reporting interface using Splunk, one of the leaders in the Security Information and Event Management (SIEM) field, linking the collected Windows events to www.eventid.net.
Obtain enhanced visibility into Cisco ASA firewall logs using the free Firegen for Cisco ASA Splunk App. Take advantage of dashboards built to optimize the threat analysis process.