프로세스는 데이터 입출력 필요할 때 OS로 부터 파일 디스크럽터(FIle Descripter, FD)를 할당 받음. 예를 들어 파일 입출력이나 소켓을 이용한 네트워크 입출력을 처리 할 때 파일 디스크립터를 할당 받아 쓴다.
운영체제는 사용자나 시스템 수준에서 생성할 수 있는 파일 디스크립터 개수를 제한함. 예를 들어 사용자의 FD 제한이 1024라면 프로세스는 파일과 소켓을 합쳐 1024개를 초과할 수 없는 것. 따라서 1024 이상의 클라가 연결을 시도하면 Too Many Open Files와 같은 오류 메시지와 함께 소켓 생성에 실패함.
파일 디스크립터 제한은 여러 수단으로 줄이거나 늘릴 수 있다.