Eu suspeito que o principal motivo para o limite é evitar o consumo excessivo de memória (cada descritor de arquivo aberto usa memória do kernel). Ele também serve como uma proteção contra aplicativos com bugs que vazam descritores de arquivos e consomem recursos do sistema.
Mas dado o quão absurdamente grande parte dos sistemas modernos de RAM são comparados aos sistemas de 10 anos atrás, eu acho que os padrões hoje são bem baixos.
Em 2011, o limite padrão para os descritores de arquivos no Linux era aumentado de 1024 para 4096 .
Alguns softwares (por exemplo, MongoDB) usam muito mais descritores de arquivos do que o limite padrão. O pessoal do MongoDB recomenda aumentar esse limite para 64.000 . Eu usei um rlimit_nofile
de 300.000 para determinados aplicativos.
Contanto que você mantenha o limite flexível no padrão (1024), provavelmente é bastante seguro aumentar o limite rígido. Os programas precisam chamar setrlimit()
para aumentar o limite acima do limite flexível e ainda estão limitados pelo limite máximo.
Veja também algumas perguntas relacionadas: