Como aumentar o número de arquivos abertos no Linux

Como aumentar o número de arquivos abertos no Linux

No Linux, você pode alterar a quantidade máxima de arquivos abertos. Você pode modificar este número usando o ulimit comando. Ele concede a você a capacidade de controlar os recursos disponíveis para o shell ou processo iniciado por ele.

Leia também: Definir os processos de execução do Linux limites para o nível por USERL

Neste curto tutorial, mostraremos como verificar seu limite atual de descrições de arquivos e arquivos abertos, mas, para isso, você precisará ter acesso raiz ao seu sistema.

Primeiro, vamos ver como podemos descobrir o número máximo de descritores de arquivos abertos em seu sistema Linux.

Encontre o limite de arquivo aberto do Linux

O valor é armazenado em:

# cat/proc/sys/fs/arquivo-max 818354 

O número que você verá mostra o número de arquivos que um usuário pode ter aberto por sessão de login. O resultado pode ser diferente, dependendo do seu sistema.

Por exemplo em um CENTOS Servidor meu, o limite foi definido como 818354, enquanto que na Ubuntu servidor que eu corro em casa, o limite padrão foi definido como 176772.

Se você quiser ver os limites rígidos e suaves, pode usar os seguintes comandos:

Verifique o limite rígido no Linux

# ulimit -HN 4096 

Verifique os limites suaves no Linux

# ulimit -sn 1024 

Para ver os valores duros e suaves para diferentes usuários, você pode simplesmente mudar de usuário com "SU" para o usuário que limita que você deseja verificar.

Por exemplo:

# su marin $ ulimit -sn 1024 
$ ulimit -HN 4096 

Como verificar os limites dos descritores de arquivos amplos do sistema no Linux

Se você estiver executando um servidor, alguns de seus aplicativos podem exigir limites mais altos para descritores de arquivos abertos. Um bom exemplo para isso são Mysql/mariadb Serviços ou Apache servidor web.

Você pode aumentar o limite de arquivos abertos no Linux, editando a diretiva do kernel fs.arquivo-max. Para esse fim, você pode usar o sysctl Utilitário.

Sysctl é usado para configurar os parâmetros do kernel no tempo de execução.

Por exemplo, para aumentar o limite de arquivo aberto para 500000, Você pode usar o seguinte comando como root:

# sysctl -w fs.arquivo-max = 500000 

Você pode verificar o valor atual para arquivos abertos com o seguinte comando:

$ cat/proc/sys/fs/arquivo-max 

Com o comando acima, as alterações que você fez só permanecerão ativas até a próxima reinicialização. Se você deseja aplicá -los permanentemente, terá que editar o seguinte arquivo:

# vi /etc /sysctl.conf 

Adicione a seguinte linha:

fs.arquivo-max = 500000

Claro, você pode alterar o número por suas necessidades. Para verificar as alterações novamente, use:

# cat/proc/sys/fs/arquivo-max 

Os usuários precisarão fazer logout e fazer login novamente para que as alterações tenham efeito. Se você deseja aplicar o limite imediatamente, pode usar o seguinte comando:

# sysctl -p 

Definir limites de arquivo aberto no nível do usuário no Linux

Os exemplos acima, mostraram como definir limites globais, mas você pode aplicar limites por base do usuário. Para esse fim, como o usuário root, você precisará editar o seguinte arquivo:

# vi/etc/segurança/limites.conf 

Se você é um administrador do Linux, sugiro que você se familiarize com esse arquivo e o que pode fazer com ele. Leia todos os comentários nele, pois oferece grande flexibilidade em termos de gerenciamento de recursos do sistema, limitando usuários/grupos em diferentes níveis.

As linhas que você deve adicionar levam os seguintes parâmetros:

             

Aqui está um exemplo de definir um limite suave e duro para o usuário Marin:

## Exemplo limite rígido para arquivos max abertos Marin Hard Nofile 4096 ## Exemplo Soft Limit for Max aberto Arquivos Marin Soft Nofile 1024 

Pensamentos finais

Este breve artigo mostrou um exemplo básico de como você pode verificar e configurar limites globais e de nível de usuário para o número máximo de arquivos abertos.

Enquanto apenas arranhamos a superfície, eu o encorajo a ter uma aparência mais detalhada e lida sobre /etc/sysctl.conf e /etc/segurança/limites.conf e aprenda a usá -los. Eles serão de grande ajuda para você um dia.