[1] Examples of resources available in limited numbers to the operating system include internet sockets, file handles, process table entries, and process identifiers (PIDs).
In other cases resource leaks can be a major problem, causing resource starvation and severe system slowdown or instability, crashing the leaking process, other processes, or even the system.
[2] Resource leaks often go unnoticed under light load and short runtimes, and these problems only manifest themselves under heavy system load or systems that remain running for long periods of time.
Resource leaks are generally due to programming errors: resources that have been acquired must be released, but since release often happens substantially after acquisition, and many things may occur in the meantime (e.g., an exception being thrown or abnormal program termination) it is easy for release to be missed.
Many resource leaks are fixed by resource reclamation by the operating system after the process terminates and makes an exit system call.