Sim, isso é normal. Um sistema operacional pode ter milhares de arquivos abertos simultaneamente a qualquer momento. Por exemplo, neste momento, meu sistema tem 5858 arquivos abertos.
$ lsof | wc -l
5858
Por favor, note que lsof
por padrão lista todos os arquivos abertos por todos os processos . Portanto, se um arquivo for acessado por dois processos diferentes, haverá duas instâncias distintas na saída lsof.
Observe também que o arquivo não é todos os arquivos comuns. lsof manual está dizendo
Um arquivo aberto pode ser um arquivo normal, um diretório, um arquivo especial de bloco, um arquivo especial de caractere, uma referência de texto em execução, uma biblioteca, uma fluxo ou um arquivo de rede (soquete de Internet, arquivo NFS ou domínio UNIX Um arquivo específico ou todos os arquivos em um sistema de arquivos podem ser selecionado pelo caminho.
Mas há uma diferença sutil em arquivos abertos e descritores de arquivos abertos . Veja este artigo para ler este tópico interessante. O ponto importante é
O que é um arquivo aberto?
Um arquivo aberto é um arquivo que está sendo usado ou é um descritor de arquivo aberto? Um descritor de arquivo é uma estrutura de dados usada por um programa para obter um identificador em um arquivo, sendo o mais conhecido 0,1,2 para entrada padrão, saída padrão e erro padrão. O parâmetro do kernel file-max refere-se aos descritores de arquivos abertos, e file-nr nos fornece o número atual de descritores de arquivos abertos. Mas lsof lista todos os arquivos abertos, incluindo arquivos que não estão usando descritores de arquivos - como diretórios de trabalho atuais, arquivos de biblioteca mapeados na memória e arquivos executáveis de texto. Para ilustrar, vamos examinar a diferença entre a saída de lsof para um determinado pid e os descritores de arquivo listados para esse pid em / proc.
Veja também esses links