Eu não entendo a melhor maneira de definir fs.inotify.max_user_watches
com sysctl
. Na verdade, não entendo muito do que está acontecendo aqui além do fato de que preciso definir o número de arquivos que podem ser observados por um determinado processo.
Acredito que posso ver o número máximo de usuários executando este comando:
cat /proc/sys/fs/inotify/max_user_watches
Meu entendimento é que algumas pessoas sugerem mudar /proc/sys/fs/inotify/max_user_watches
abrindo /etc/sysctl.conf
em um editor e adicionando isto a ele:
fs.inotify.max_user_watches=524288
Em seguida, execute sudo sysctl -p
para - presumivelmente - processar as alterações feitas no arquivo.
Outros sugerem a execução de comandos como este:
sudo sysctl -w fs.inotify.max_user_instances=1024
sudo sysctl -w fs.inotify.max_user_watches=12288
Eu sei que -w
significa escrever, mas o que está sendo escrito e onde? É só que este comando muda /proc/.../max_user_watches
?
Qual das duas abordagens descritas acima é a melhor? Entendo que 524288 e 12288 são números diferentes, mas não entendo a diferença entre o efeito de correr -p
e -w
.
sysctl -w
grava os valores dos parâmetros do kernel nas chaves correspondentes em/proc/sys
:escreve
12288
para/proc/sys/fs/inotify/max_user_watches
. (Não é equivalente, é exatamente isso; os leitores interessados podemstrace
ver por si mesmos.)carrega as configurações de um arquivo
/etc/sysctl.conf
(o padrão) ou qualquer arquivo especificado após-p
.A diferença entre as duas abordagens, além das diferentes origens dos parâmetros e valores que escrevem, é que
-w
só altera os parâmetros até a próxima reinicialização, enquanto os valores armazenados em/etc/sysctl.conf
serão aplicados novamente toda vez que o sistema inicializar. Minha abordagem usual é usar-w
para testar valores e, quando tiver certeza de que as novas configurações estão corretas, grave-as/etc/sysctl.conf
ou um arquivo em/etc/sysctl.d
(geralmente/etc/sysctl.d/local.conf
).Consulte as páginas de manual
sysctl
e ( e no seu sistema) para obter detalhes.sysctl.conf
man sysctl
man sysctl.conf
Veja a contagem inotify usada.