What does errno 23 (ENFILE) mean?

 
Could be also:
ConstantTypeOS
ERROR_CRCWin32 errorWindows
KERN_MEMORY_PRESENTKern returnMac
ippStsDllNotFoundBestUsedIntel Ipp StatusAny
CID_HANDLE_DELETIONBugCheck CodeWindows
Previous Next
EINVAL EMFILE

ENFILE

How it differs from EMFILE

ENFILE means the system-wide open-file table or a related global file-object limit is exhausted. It differs from EMFILE, which is normally a per-process descriptor limit. An application that receives ENFILE may not be the process consuming most of the entries; the host as a whole is under pressure.

Servers can reach this state through descriptor leaks, a large number of simultaneous clients, runaway worker creation, message queues, or a separate workload on the same host. Because new opens, accepts, pipes, and other object-creating calls may all fail, the incident can spread beyond the application that caused it.

How to investigate and recover

  • Separate host-wide file-object exhaustion from the current process’s RLIMIT_NOFILE limit.
  • Inspect system-wide open-file usage and the largest descriptor consumers before raising limits.
  • Look for leaked sockets, files, pipes, and queue descriptors, including descriptors inherited across process launches.
  • Use admission control and graceful overload handling so that a temporary global limit does not cause an uncontrolled retry storm.

References


Looking for a different code? Search another status or error code.