Problemas em diretório com milhares de arquivos [Resolvido] [Dica]
Publicado por Fábio Berbert de Paula em 01/06/2020
[ Hits: 777 ]
É raro, mas pode acontecer de você possuir um diretório com uma quantidade de arquivos maior que a suportada pelo kernel. A nível de curiosidade, essa quantidade está definida, a partir da raiz do código-fonte do kernel em:
vim include/uapi/linux/limits.h
#define ARG_MAX 131072 /* # bytes of args + environ for exec() */
Você pode recompilá-lo e aumentar essa quantidade a vontade, mas saiba que esse número tem um limite de acordo com sua quantidade de memória RAM.
Uma forma de consultar essa configuração diretamente ao kernel carregado em memória ao invés de abrir o arquivo acima é:
E se tiver curiosidade em consultar as demais configurações do kernel em execução:
getconf -a
Quando você tem um diretório com uma quantidade de arquivos maior que o ARG_MAX, toda vez que você tentar executar alguma operação nele, como um "ls", "mv" ou "rm", ele irá retornar uma mensagem de erro:
bash: ... : Argument list too long
Para contornar o problema podemos utilizar o comando find com a operação desejada em seu argumento -exec. Por exemplo, para apagar todos os arquivos do diretório podemos usar o comando abaixo (não, subir um nível acima e executar "rm -Rf diretório" não irá funcionar):
find . -type f -print -exec rm -f {} \;
Como capturar uma janela específica usando o ImageMagick
Ubuntu e Debian-like com mais de 4GB de RAM
Som no Linux (recompilando kernel)
Failed to overwrite statefile
[1] Comentário enviado por mauricio123 em 01/06/2020 - 19:26h
eu nem sabia disso. é bom saber caso for necessário.
eu nem sabia disso. é bom saber caso for necessário. ___________________________________ Conhecimento não se Leva para o Túmulo.